How to convert DateTime to a number in MySQL?

后端 未结 4 589
再見小時候
再見小時候 2020-12-31 05:40

How can I get the total number of seconds since \'1970-01-01 00:00:01\' from a DateTime instance in MySQL?

相关标签:
4条回答
  • 2020-12-31 06:06

    Use UNIX_TIMESTAMP( dateField )

    0 讨论(0)
  • 2020-12-31 06:13

    UNIX_TIMESTAMP(datetime) force a localization of the datetime, which unlike the timestamp, is stored "as is".

    You need actually any of the following, for discarding the UTC correction:

    UNIX_TIMESTAMP(CONVERT_TZ(datetime, '+00:00', @@session.time_zone))

    or:

    TIMESTAMPDIFF(SECOND,'1970-01-01 00:00:00',datetime)

    Refs: 1, 2, 3, 4

    0 讨论(0)
  • 2020-12-31 06:21
    SELECT DATE_FORMAT(`value`, '%Y%m%d') AS `date_ymd` FROM `table_name`;
    
    0 讨论(0)
  • 2020-12-31 06:25

    You are looking for UNIX_TIMESTAMP().

    See: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_unix-timestamp

    If UNIX_TIMESTAMP() is called with a date argument, it returns the value of the argument as seconds since '1970-01-01 00:00:00' UTC.

    0 讨论(0)
提交回复
热议问题