может ли кто-нибудь сообщить, как я конвертировал дату типа «вторник, 22 июня 2010 года 00:00» в временную метку unix, используя strtotime ()? Мне нужно также хранить часы и минуты, и неясно, лучше ли это делать с использованием strtotime. Спасибо за любую помощь!
Из-за второго ,
strtotime()
настоящее время не понимает ваш формат даты / времени (удалите его, и он будет работать правильно).
Если у вас есть статический формат для даты, использование strptime()
или DateTime::createFromFormat()
более надежное и позволит другим строкам, отличным от даты в дате, присутствовать до тех пор, пока вы их определили.
echo DateTime::createFromFormat("l, j F, YH:i","Tuesday, 22 June, 2010 00:00")->format("c");
strtotime () преобразует как дату, так и время. Он преобразует строку в временную метку Unix .
Что такое отметка времени unix?
Временная метка unix – это способ отслеживать время как общее количество секунд. Этот счет начинается с эпохи Unix 1 января 1970 года. Поэтому отметка времени unix – это просто количество секунд между конкретной датой и эпохой Unix. Это очень полезно для компьютерных систем для отслеживания и сортировки информации в динамических и распределенных приложениях как онлайн, так и на стороне клиента.
Вы можете преобразовать временную метку unix в строку, используя дату
strtotime
и date
могут использоваться для преобразования в strtotime
метку UNIX и извлечения частей этой метки времени соответственно.
Комбинация должна делать то, что вам нужно.
$string = "Tuesday, 22 June, 2010 00:00"; $dateString = substr($string,0,-5); $timeArray = explode(':',substr($string,-5)); $timeStamp = strtotime($dateString) + 60*$timeArray[0] + $timeArray[1];