How to convert MySQL time to UNIX timestamp using PHP?

前端 未结 6 398
情歌与酒
情歌与酒 2020-12-02 15:09

There are a lot of questions that ask about \'UNIX timestamp to MySQL time\'. I needed the reversed way, yea... Any idea?

相关标签:
6条回答
  • 2020-12-02 15:35

    Instead of strtotime you should use DateTime with PHP. You can also regard the timezone this way:

    $dt = DateTime::createFromFormat('Y-m-d H:i:s', $mysqltime, new DateTimeZone('Europe/Berlin'));
    $unix_timestamp = $dt->getTimestamp();
    

    $mysqltime is of type MySQL Datetime, e. g. 2018-02-26 07:53:00.

    0 讨论(0)
  • 2020-12-02 15:38

    From one of my other posts, getting a unixtimestamp:

    $unixTimestamp = time();
    

    Converting to mysql datetime format:

    $mysqlTimestamp = date("Y-m-d H:i:s", $unixTimestamp);
    

    Getting some mysql timestamp:

    $mysqlTimestamp = '2013-01-10 12:13:37';
    

    Converting it to a unixtimestamp:

    $unixTimestamp = strtotime('2010-05-17 19:13:37');
    

    ...comparing it with one or a range of times, to see if the user entered a realistic time:

    if($unixTimestamp > strtotime("1999-12-15") && $unixTimestamp < strtotime("2025-12-15"))
    {...}
    

    Unix timestamps are safer too. You can do the following to check if a url passed variable is valid, before checking (for example) the previous range check:

    if(ctype_digit($_GET["UpdateTimestamp"]))
    {...}
    
    0 讨论(0)
  • 2020-12-02 15:43

    Slightly abbreviated could be...

    echo date("Y-m-d H:i:s", strtotime($mysqltime));
    
    0 讨论(0)
  • 2020-12-02 15:46

    You can mysql's UNIX_TIMESTAMP function directly from your query, here is an example:

    SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
    

    Similarly, you can pass in the date/datetime field:

    SELECT UNIX_TIMESTAMP(yourField);
    
    0 讨论(0)
  • 2020-12-02 15:50
    $time_PHP = strtotime( $datetime_SQL );
    
    0 讨论(0)
  • 2020-12-02 15:54

    Use strtotime(..):

    $timestamp = strtotime($mysqltime);
    echo date("Y-m-d H:i:s", $timestamp);
    

    Also check this out (to do it in MySQL way.)

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

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