Как преобразовать часть даты datetime в метку времени в PHP? - PullRequest
0 голосов
/ 27 мая 2018

Как я могу просто преобразовать часть даты в datetime в метку времени?

Например, в это время: 2018-02-26 20: 30: 00

Я хочу метку времени 2018-02-26 00: 00: 00.

Ответы [ 6 ]

0 голосов
/ 27 мая 2018

Попробуйте:

$date = "2018-02-26 20:30:00";
echo strtotime(date('Y-m-d 00:00:00', $date));

Выводит метку времени UNIX.Вы можете удалить strtotime, чтобы получить григорианский календарь

0 голосов
/ 27 мая 2018

Если вы используете substr, вам нужно использовать strtotime только один раз и без даты.

Echo strtotime(substr("2018-02-26 20:30:00",0,10));

Или вы можете использовать взрыв:

Echo strtotime(explode(" ", "2018-02-26 20:30:00")[0]);

Я взрываюсь в космосе и использую первый предмет [0]

0 голосов
/ 27 мая 2018

Простое и лучшее решение будет следующим:

$datetime = '2018-02-26 20:30:00';

$new_date = strtotime( Date( 'Y-m-d', strtotime( $datetime ) ) );
0 голосов
/ 27 мая 2018

Если вы предпочитаете использовать API DateTime, вы также можете сделать:

$dateAndTime = '2018-02-26 20:30:30';    
DateTime::createFromFormat('Y-m-d H:i:s', $dateAndTime)->setTime(0, 0)->getTimestamp();
0 голосов
/ 27 мая 2018
<?php

echo strtotime(date("Y-m-d",strtotime("2018-02-26 20:30:00"))." 00:00:00");
0 голосов
/ 27 мая 2018

Вот, пожалуйста.Просто используйте strtotime дважды.Один - для установки даты, а второй - для создания метки времени.

strtotime () может использоваться для преобразования практически любой читаемой человеком строки даты в метку времени.

http://php.net/manual/en/function.strtotime.php

$str = '2018-02-26 20:30:30';
echo date('Y-m-d', strtotime($str)) . '<br>';

echo strtotime(date('Y-m-d', strtotime($str))); 
...