2014-01-22 2 views
1

В Unix, Time Stamp порождена моей не указываете ей генерации правильноКак получить временную метку Unix с определенной даты - PHP?

(European format)

Date Submitted: 15/02/2014 19:00

Unix Code: 1392508800

This returned date is: 16/02/2014 00:00:00 Code it should of returned is: 1392490800

код Используется После отправки формы значения фиксируются и назначены ...

if ($_POST['Callbacl']){ 

    $CID=$_POST['ID']; 
    $Notes = $_POST['callbacknotes']; 

    $Time_H = $_POST['Time_Hour']; 
    $Time_M = $_POST['Time_Minute']; 
    $Date_Day = $_POST['Date_Day']; 
    $Date_Month = $_POST['Date_Month']; 
    $Date_Year = $_POST['Date_Year']; 

    $Appt = mktime($Time_H, $Time_M,00, $Date_Month, $Date_Day, $Date_Year); 
    echo $Appt . "<br>"; 
    die; 
} 

сообщение значения

 Array ( 
    [ID] => 1 
    [Time_Hour] => 19 
    [Time_Minute] => 00 
    [Date_Month] => 02 
    [Date_Day] => 15 
    [Date_Year] => 2014 
    [callbacknotes] => 
    [Callback] => Call Back 
    ) 
+0

попробовать, как это установить формат даты UNIX: '$ yourdate-> формат ('U');' –

+1

Упростите образец. Получите все связанные со временем значения и опубликуйте только их, результат 'mktime' вернется и почему вы считаете, что это неверно. То, как вы получаете значения, не имеет значения. – MarcinJuraszek

+0

Можете ли вы показать нам вывод: print_r ($ _ POST)? –

ответ

1

Я полагаю, что ваш часовой пояс в php.ini не является вашим предпочтительным. Попробуйте установить правильный часовой пояс в php.ini или добавить следующий код в начале вашего блока.

date_default_timezone_set('your time zone'); 

Существует список поддерживаемых часовых поясов в PHP:

http://www.php.net/manual/en/timezones.php

+0

Оказывается, это правильный ответ; шляпы от вас Я просто не могу понять, почему часовой пояс повлияет на количество секунд между 00:00:00 01/01/1970 и датой (не должно быть значения, независимо от того, где в мире, в котором вы живете), так как каждый имеет 60 секунд за 1 минуту и ​​60 минут за 1 час и т. д. Любое, как спасибо – DataCure

+0

PHP mktime возвращает разницу между 00:00:00 01.01.1970 UTC и предоставил дату в выбранном вами часовом поясе. –

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