我正在尝试使用新值更新时间戳的时间(小时和分钟),但由于某些原因,它会返回-19小时,为什么会这样?我这样做是错误的吗?
$hour_created = $_REQUEST['hour_created']; // ex.: 13
$minute_created = $_REQUEST['minute_created']; // ex.: 00
$updated_timestamp = strtotime("$hour_created:$minute_created", $_REQUEST['_timestamp']);
答案 0 :(得分:1)
使用:
$updated_timestamp = strtotime(date("d/m/y", $_REQUEST['_timestamp'])." $hour_created:$minute_created");
如果这不起作用,您的服务器可能需要反向日期订单(美国):
$updated_timestamp = strtotime(date("m/d/y", $_REQUEST['_timestamp'])." $hour_created:$minute_created");
如果您想更换小时和分钟并留下日期。
编辑:抱歉,我的错误,现在已修好。
答案 1 :(得分:0)
在同事的帮助下,我最终做到了这一点:
$day_value = 60 * 60 * 24;
$offset = intval($_REQUEST['_offset']) * 60;
// Article creation date
$time_created = ($_REQUEST['hour_created'] * 60 * 60) + ($_REQUEST['minute_created'] * 60);
$date_created = substr($_REQUEST['_timestamp'], 0, -3) - $offset;
$date_created = floor($date_created / $day_value) * $day_value + $time_created + $offset;
偏移量是javascript函数的结果:new Date().getTimezoneOffset();
时间戳是$.datepicker({altFormat: '@'});