【问题标题】:How to change Day-D-Month-Y - Time Date Format in SQL/PHP如何在 SQL/PHP 中更改 Day-D-Month-Y - 时间日期格式
【发布时间】:2018-06-06 02:03:52
【问题描述】:

我正在使用这种格式的日期字符串 2018 年 2 月 21 日星期三 - 09:35。 我只是好奇,有没有一种简单的方法可以将其更改为 SQl 或 PHP 中的 UNIX 日期时间格式,或者我必须为每个格式编写一个独特的案例。

我已尝试使用 PHP 函数 strtotime 更改此设置,但无法使用此特定格式。

谢谢!

【问题讨论】:

标签: php sql date datetime


【解决方案1】:

您实际上可以使用STR_TO_DATEUNIX_TIMESTAMP 函数在MySQL 中直接处理:

SELECT UNIX_TIMESTAMP(
    STR_TO_DATE('Wednesday 21 February 2018 - 09:35', '%W %e %M %Y - %H:%i')) AS ts
FROM dual;

Demo

基本思想是首先使用STR_TO_DATE 将您的文本时间戳转换为正式日期,然后使用UNIX_TIMESTAMP 将该日期转换为UNIX 时间戳。

【讨论】:

  • 太棒了!正是我想要的。您碰巧知道如何在 SQL Server 中执行此操作吗?
  • @CameronRose 抱歉,我以为您使用的是 MySQL(通常是 PHP 问题的一个很好的假设)。不,我不认为 SQL Server 能够将像您这样的任意时间戳解析为正式日期。
  • 如果你真的在使用 SQL Server,那么你可能不得不在 PHP 中处理这个问题,或者只使用符合 ISO 标准的时间戳。
猜你喜欢
  • 2022-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-22
  • 2011-02-19
  • 1970-01-01
相关资源
最近更新 更多