如何大INT转换为日期如何大转换为int至今
输出示例:
name due
release | 1300150800000000
说明:
| name | text | NO | PRI | NULL | |
| due | bigint(20) | YES | | NULL | |
如何大INT转换为日期如何大转换为int至今
输出示例:
name due
release | 1300150800000000
说明:
| name | text | NO | PRI | NULL | |
| due | bigint(20) | YES | | NULL | |
看来它包含自1970-Jan-01 00:00:00am GMT
微秒。
即将您的值转换为秒后,它给出1300150800
,这相当于2011-Mar-15 01:00:00am GMT
。
因此,要将其转换为datetime
,您可以在将其转换为秒(通过除以1000000)后使用MySQL的FROM_UNIXTIME(unix_timestamp, format)
。
SQL:
SELECT FROM_UNIXTIME(due/1000000, "%Y-%m-%d %H:%i:%s") AS due_date
FROM MyTable;
价:
@efox,看来你是StackOverflow的新手。如果你有答案,请接受。 – 2011-03-28 04:20:28
它出现FROM_UNIXTIME()会引入[Y2K38问题](http://stackoverflow.com/a/2012620/673991)。不知道是否有一个替代方案没有。否则(计算器敲击声音)BIGINT在9999年看起来不错,甚至数微秒。 – 2013-07-30 17:19:21
选择CAST从myTable的(FROM_UNIXTIME(END_TIME/1000)作为DATE);
输出:2015年3月1日
如果你把它当作微秒纪元以来的:'的perl -e'打印标本地时间1300150800''你2011年3月15日 – Thilo 2011-03-23 03:42:38
的日期应为每年2004-2007 2011。 – Efox 2011-03-23 03:43:40
看看这个问题:http://stackoverflow.com/questions/4261684/how-to-decode-some-number-into-timedate – 2011-03-23 03:47:04