How to convert date to timestamp in PHP?

前端 未结 19 2445
暗喜
暗喜 2020-11-22 05:38

How do I get timestamp from e.g. 22-09-2008?

19条回答
  •  南方客
    南方客 (楼主)
    2020-11-22 06:32

    function date_to_stamp( $date, $slash_time = true, $timezone = 'Europe/London', $expression = "#^\d{2}([^\d]*)\d{2}([^\d]*)\d{4}$#is" ) {
        $return = false;
        $_timezone = date_default_timezone_get();
        date_default_timezone_set( $timezone );
        if( preg_match( $expression, $date, $matches ) )
            $return = date( "Y-m-d " . ( $slash_time ? '00:00:00' : "h:i:s" ), strtotime( str_replace( array($matches[1], $matches[2]), '-', $date ) . ' ' . date("h:i:s") ) );
        date_default_timezone_set( $_timezone );
        return $return;
    }
    
    // expression may need changing in relation to timezone
    echo date_to_stamp('19/03/1986', false) . '
    '; echo date_to_stamp('19**03**1986', false) . '
    '; echo date_to_stamp('19.03.1986') . '
    '; echo date_to_stamp('19.03.1986', false, 'Asia/Aden') . '
    '; echo date('Y-m-d h:i:s') . '
    '; //1986-03-19 02:37:30 //1986-03-19 02:37:30 //1986-03-19 00:00:00 //1986-03-19 05:37:30 //2012-02-12 02:37:30

提交回复
热议问题