Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从特定日期获取Unix时间戳-PHP?_Php_Smarty_Unix Timestamp_Mktime - Fatal编程技术网

如何从特定日期获取Unix时间戳-PHP?

如何从特定日期获取Unix时间戳-PHP?,php,smarty,unix-timestamp,mktime,Php,Smarty,Unix Timestamp,Mktime,MKTIME生成的Unix时间戳未正确生成 (欧洲格式) 提交日期:2014年2月15日19:00 Unix代码:1392508800 此返回日期为:2014年2月16日00:00:00 它应该返回的代码是:1392490800 使用的代码 提交表单后,将捕获并分配值 if ($_POST['Callbacl']){ $CID=$_POST['ID']; $Notes = $_POST['callbacknotes']; $Time_H = $_POST['Time_

MKTIME生成的Unix时间戳未正确生成

(欧洲格式)

提交日期:2014年2月15日19:00

Unix代码:1392508800

此返回日期为:2014年2月16日00:00:00 它应该返回的代码是: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;
}

我想php.ini中的时区不是您的首选时区。 尝试在php.ini中设置适当的时区,或者在块的开头添加以下代码

date_default_timezone_set('your time zone');
PHP中有支持的时区列表:


尝试这样设置unix的日期格式:
$yourdate->format('U')简化您的示例。获取所有与时间相关的值,并仅发布它们,结果
mktime
返回并说明您认为它不正确的原因。如何获取值无关紧要。能否显示:print\u r($\u POST)的输出?致命错误:未捕获异常“exception”,消息为“DateTime::\u construct()[]:无法解析位置17(0)处的时间字符串(02/15/2014 19:00,00):意外字符'in/home/a556232/public_html/clients_search_client.php:57堆栈跟踪:#0/home/a556232/public_html/clients_search_client.php(57):DateTime->_construct('02/15/2014 19:0…')#1{main}抛出/home/a556232/public_html/clients_search_client.php第57Milan Babyskov:ark行([ID]=>1[时间小时]=>19[时间分钟]=>00[日期月]=>02[日期日]=>15[日期年]=>2014[回电记录]=>[回电]=>回电)结果证明这是正确的答案,先生;向你脱帽致敬我似乎无法理解为什么时区会影响从1970年1月1日00:00:00到提供的日期之间的秒数(无论你生活在世界的哪个地方,其值不应该是相同的)因为每个人在1分钟内有60秒,在1小时内有60分钟等等,所以任何感谢PHP mktime都会返回0:00:00 01/01/1970 UTC和所选时区中提供的日期之间的差值。
date_default_timezone_set('your time zone');