У меня есть значение месяца (1-12), дневное значение (1-31) и значение года (2010,2011,2012). У меня также есть значение часа и минутное значение.
Как я могу передать это strtotime() таким образом, чтобы преобразовать его в метку времени?
У меня есть значение месяца (1-12), дневное значение (1-31) и значение года (2010,2011,2012). У меня также есть значение часа и минутное значение.
Как я могу передать это strtotime() таким образом, чтобы преобразовать его в метку времени?
Учитывая переменные $year $month $day $hour $minute, вы можете сделать:
strtotime("$year-$month-$day $hour:$minute");
Будьте осторожны, чтобы заключить переменные с ", никогда в этом случае с '.
ОБНОВЛЕНИЕ (спасибо комментариям @Clockwork и @Tadeck):
Если существует переменная $timeofday, которая представляет время дня (то есть AM или PM),
то вы можете проанализировать его следующим образом:
strtotime("$year-$month-$day $hour:$minute$timeofday");
то есть просто присоедините эту переменную к концу текста.
Является ли strtotime лучшим инструментом для этой работы? Что насчет mktime()?
$time = mktime($hour, $minute, 0, $month, $day, $year);
		зачем преобразовывать строку в дату, когда вы уже знаете год, месяц и дату.
 использовать setDate
<?php
$date = new DateTime();
$date->setDate(2001, 2, 3);
echo $date->format('Y-m-d');
?>
		Вы можете предоставить ему функцию strtotime() разными способами, как указано в документации. Вот некоторые примеры:
$your_time = strtotime('12/31/2011 9:59');
$your_time = strtotime('2011-12-31 9:59');
$your_time = strtotime('December 31, 2011 9:59');
и т.д.. Это действительно очень гибко.
Вы можете найти список допустимых форматов в документации, и это (из списка "Составные форматы" в указанной документации) например:
10/Oct/2000:13:55:36 -0700,2008:08:07 18:11:31,2008-08-07 18:11:31,2008-07-01T22:35:17.02,2008-07-01T22:35:17.03+08:00,20080701T22:38:07,20080701T9:38:07,20080701t223807,20080701T093807,2008-7-1T9:3:37,(это действительно копия документации)
Используйте его так: strtotime("YYYY-mm-DD HH:MM AM/PM"):
echo date("d F Y h:i:s A", strtotime("2011-06-01 11:15 PM")) . "\n";
01 June 2011 11:15:00 PM
		 Y-m-d hh:mm будет работать
echo strtotime('2011-12-14 11:44 am');
cit @Pekka:)
strtotime($month."-".$day."-".$year)