php日期与数据库不匹配?

php日期与数据库不匹配?,php,Php,这是编码,它与正确的格式相呼应,但事实是打印出来的日期是错误的 输出:1969年12月31日19:33 数据库时间戳2016-05-20 21:53:17 我尝试过用不同的方法来计算日期,但结果仍然相同在您发布的代码示例中,$row['timestamp']尚未设置,因此日期是用时间戳0(也称为历元)或正在回显的日期构建的 如果您按以下方式更改它,它应该可以正常工作: <?php date_default_timezone_set('ECT'); $timestamp = 1456

这是编码,它与正确的格式相呼应,但事实是打印出来的日期是错误的

输出:1969年12月31日19:33

数据库时间戳2016-05-20 21:53:17



我尝试过用不同的方法来计算日期,但结果仍然相同

在您发布的代码示例中,
$row['timestamp']
尚未设置,因此日期是用时间戳0(也称为历元)或正在回显的日期构建的

如果您按以下方式更改它,它应该可以正常工作:

<?php  
date_default_timezone_set('ECT');
$timestamp = 1456778973;
echo date('d M Y H:i', $timestamp); ?>

旁注:
时区
ECT
在PHP中不是有效的时区代码。如果我正确地假设您指的是欧洲中部时间,那么您必须指定
CET

在您发布的代码示例中,
$row['timestamp']
尚未设置,因此日期是用时间戳0(也称为历元)或正在回显的日期构建的

如果您按以下方式更改它,它应该可以正常工作:

<?php  
date_default_timezone_set('ECT');
$timestamp = 1456778973;
echo date('d M Y H:i', $timestamp); ?>

旁注:
时区
ECT
在PHP中不是有效的时区代码。如果我正确地假设您指的是欧洲中部时间,那么您必须指定
CET

ECT
不作为有效的
时区存在,您的意思是
CET
可能吗?
正确的方法是使用类,即:

$date = new DateTime();
$date->setTimestamp(1456778973);
$tz = new DateTimeZone("America/Denver");
$date->setTimezone($tz);
echo $date->format('d M Y H:i');


注:

日期应始终以UTC(时间戳又称unix时间)的形式存储在DB中,然后可以使用
DateTime
类添加或减去时区偏移量



你知道山地标准时间的偏移量是多少吗

山地时间:美国/丹佛 山地时间(无DST):
America/Phoenix


ECT
不作为有效的
时区存在,您的意思是
CET
可能吗?
正确的方法是使用类,即:

$date = new DateTime();
$date->setTimestamp(1456778973);
$tz = new DateTimeZone("America/Denver");
$date->setTimezone($tz);
echo $date->format('d M Y H:i');


注:

日期应始终以UTC(时间戳又称unix时间)的形式存储在DB中,然后可以使用
DateTime
类添加或减去时区偏移量



你知道山地标准时间的偏移量是多少吗

山地时间:美国/丹佛 山地时间(无DST):
America/Phoenix



数据库日期时间字段应始终填充为UTC,然后添加/减去时区偏移量。使用DateTime类。您知道偏移量是多少吗?对于山区标准时间?山区时间->
美国/丹佛
山区时间(无DST)->
美国/凤凰城
数据库日期时间字段应始终填充为UTC,然后添加/减去时区偏移。使用DateTime类。您知道偏移量是多少吗?对于山地标准时间?山地时间->
美国/丹佛
山地时间(无DST)->
美国/凤凰城
我希望从数据库中提供时间戳,这就是为什么我有$row['timestamp',我试图将其设置为东部中部时间coast@RKGaming但是在你分享的剧本里,
$row
未设置。若要引用美国东部时区,应使用时区代码
美国/纽约
我希望从数据库中提供时间戳,这就是为什么我有$row['timestamp',我试图将其设置为东部的东部中央时间coast@RKGaming但是在你分享的剧本里,
$row
未设置。若要引用美国东部时区,应使用时区代码
美国/纽约
我希望将时间戳设置为数据库时间戳。使用整数时间戳无法执行此操作。它没有与之关联的时区。您可以尝试timestamp/datetime字段。原始日期应存储为UTC,但未来日期通常应存储在其本地时区中。否则,在时区更改的情况下会出现意外行为。如果我想在下周三下午2点与你会面,但我国政府突然取消了DST,这应该不会影响我们(当地)的会议时间。我希望时间戳设置为数据库时间戳,但无法使用整数时间戳。它没有与之关联的时区。您可以尝试timestamp/datetime字段。原始日期应存储为UTC,但未来日期通常应存储在其本地时区中。否则,在时区更改的情况下会出现意外行为。如果我想在下周三下午2点与你会面,但我国政府突然取消了DST,这应该不会影响我们(当地)的会面时间。