由于外包开发,我的许多表中的每一行都有一个名为ts
的未记录字段,其值为1428881039
。这是一个实际的created_at
时间戳字段的补充,其值为2015-04-12 17:23:59 MDT
。
将这些值传递给此函数,然后在网页上显示:
public static function display($ts, $created_at, $format = self::FORMAT_DETAILS){
if ($ts && Session::has('tz_offset')){
$adminTzOffset = Session::get('tz_offset');
$final = (int)$ts - (int)$adminTzOffset;
return date($format, $final);
}else{
return $created_at;
}
}
据我所知,它可能与确定显示的日期是针对用户的正确时区有关,但它似乎无法正常工作;它最终显示错误的时间。显然我只能显示created_at
时间戳,但我明白这是在尝试做什么。
有关此ts
字段代表什么的任何想法?
答案 0 :(得分:1)
根据评论中获得的信息,我会说ts
字段是尝试记录UTC时间 - 因为它看起来比您的created_at
字段提前6小时。
代码本身看起来正在使用此$ts
值来计算基于会话变量的更正时区。如果您的错误时间不正确,登录的用户可能会设置错误的时区吗?