由于外包开发,我的许多表中的每一行都有一个名为 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
字段代表什么吗?
最佳答案
根据从评论中获得的信息,我想说 ts
字段是尝试记录 UTC 时间 - 因为它看起来比您的 created_at
早 6 小时字段。
代码本身看起来像是使用这个 $ts
根据 session 变量计算修正时区的值。如果您得到的时间不正确,可能是登录用户的时区设置不正确?
关于mysql - 数据库中的“ts”数字字段? (例如 1428881039),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29663468/