2016-06-29 5 views
0

Чтобы быть очень кратким, я пытаюсь получить временную метку определенного дня (начало месяца) в очень определенное время (00:00:00). Затем я пытаюсь получить это значение в отметке времени unix, используемой для поиска в базе данных. День работает нормально, но когда я проверяю отметку времени, он устанавливает относительное время до текущего времени. Например, сейчас сейчас 8:55, а выход, который я получаю, - 13:56 (UTC). Я хочу 00:00 UTC. Вот код, с которым я работаю.Попытка получить час 00:00:00 определенного дня, вместо этого получить относительное время

$from = "$month/1/$year"; 
$to = $month+1."/1/$year"; 
$fromDate = date_create("$from"); 
$toDate = date_create("$to"); 
$fromDate->setTime(0,0,0); 
$toDate->setTime(0,0,0); 
$from = strtotime($fromDate); 
$to = strtotime($toDate); 

вот выход:

$ от = 1464789100

$ к = 1467381099

редактирования: решена

Мои столы были перепутались. У меня были некоторые испорченные данные, которые бросали все, что я, по общему признанию, вызывал для целей тестирования (потому что забывать, что ваши тестовые случаи существуют, всегда хорошая идея). Спасибо всем за вашу помощь.

+0

вы попробовать '$ от = "$ месяц/1/$ 00:00:00 год";'? –

+0

Да. Еще одна проблема. Я получаю 2:06 вечера (потому что время прошло, время не статично статично, оно динамически устанавливает его на основе текущего времени). – dmcoding

ответ

1

Попробуйте этот код

$date = DateTime::createFromFormat('m/d/Y H:i:s', '05/02/2015 00:00:00'); 
var_dump($date->format('U')); 
/* Add 1 month to date */ 
$date->add(new DateInterval('P1M')); 
var_dump($date->format('U')); 
+0

Я попробовал ваше предложение, получив тот же результат. После преобразования в timestamp unix через strtotime() я все еще получаю динамическое время вместо статического 00:00:00 в эту конкретную дату, поэтому, к сожалению, ваш ответ не сработал. – dmcoding

+1

@dmcoding '$ date-> format ('U');' дата возврата в формате unix timesamp. Вам не нужно использовать дополнительную функцию 'strtotime()' – newage

+0

Это действительно дает статическое время. Я очень благодарен. Ответ принят, я отредактирую свой вопрос с вашим добавленным ответом. Я не понимал, что использование «strtotime()» приведет к тому, что все будет так плохо. Огромное спасибо. – dmcoding

 Смежные вопросы

  • Нет связанных вопросов^_^