将 MySQL 时间戳格式化为 mm/dd/yyyy

问题描述 投票:0回答:4

我得到了一个 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

mysql sql timestamp unix-timestamp
4个回答
5
投票

试试这个:

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

3
投票

我很抱歉大家,我认为时间已经在

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
投票

你可以这样尝试

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

0
投票

花了大约30分钟寻找必要的转换方法。我遇到了 CAST() 函数的一个不明显的选项,它起作用了!

以下是转换命令:

SELECT DATE_FORMAT(CAST(time_stamp as datetime), '%d.%m.%Y - %H.%i.%s.%f') FROM tableToChangeTimestampFormat;
© www.soinside.com 2019 - 2024. All rights reserved.