【问题标题】:Format MySQL timestamp to mm/dd/yyyy将 MySQL 时间戳格式化为 mm/dd/yyyy
【发布时间】:2013-11-09 09:52:21
【问题描述】:

我得到了一个 MySQL 12 位时间戳 (253402214400),可以在不使用任何语言的情况下将其格式化为 mm/dd/yyyy。数据库字段是长文本类型,这就是我正在做的事情。

SELECT time_stamp; 返回253402214400

SELECT DATE_FORMAT(time_stamp,'%m/%d/%Y'); 返回NULL

SELECT FROM_UNIXTIME(time_stamp); 也返回 NULL

SELECT UNIX_TIMESTAMP(time_stamp); 返回0

我不知道Timestamp是什么类型的,但是请帮我把它格式化成mm/dd/yyyy

Thanks

【问题讨论】:

  • 253402214400 不是有效的时间戳。
  • @HamedKamrava 是的,以毫秒为单位。谢谢。

标签: mysql sql timestamp unix-timestamp


【解决方案1】:

对不起大家,我认为时间在milliseconds,所以通过一些研究我可以到达这里https://stackoverflow.com/a/9483289/750302并通过DATE_FORMAT(FROM_UNIXTIME(time_stamp/1000), '%m/%d/%Y');SQLFIDDLE解决它! ...

Thank You Everyone for your Support!

【讨论】:

    【解决方案2】:

    试试这个:

    DATE_FORMAT(FROM_UNIXTIME(time_stamp), '%d/%m/%Y')
    

    例子:

    SELECT DATE_FORMAT('2016-05-01 09:23:00', '%d/%m/%Y') // result: 01/05/2016
    

    【讨论】:

    • 返回Null,因为正如我所说的FROM_UNIXTIME(time_stamp); 会返回NULL
    • FROM_UNIXTIME 返回 NULL,因为它需要以毫秒为单位的时间戳,但如果您有像 '2016-05-01 09:23:00' 这样的时间戳,只需在 DATE_FORMAT() 函数中使用它。我修改了答案。
    【解决方案3】:

    你可以这样尝试

    Select DATE_FORMAT(FROM_UNIXTIME(time_stamp), '%d/%m/%Y')
    

    【讨论】:

    • 返回 NULL 因为 FROM_UNIXTIME(time_stamp) 返回 NULL
    猜你喜欢
    • 2017-07-09
    • 2013-03-09
    • 2021-04-19
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多