海
我想从不同的时区计算实际时间。 我有两个mysql表
1.时区表: 此表包含两个字段(偏移值,国家/地区名称) 价值是(-12:00,Eniwetok,Kwajalein)(-11:00,Midway Island,Samoa)....等等
2.我的员工表 此表包含具有两个字段名称(created_on,timezone)的员工详细信息,值为(当前时间戳,-11:00)(当前时间戳,-12:00).....等等
现在,如果我的员工登录到我的系统,我想根据表中的时区值显示时间。
基本上如果我的 当前时间戳是:2010-05-10 15:41:39 偏移值为:+5:30
我的结果应该是:2010年5月10日下午3:41
对于相同的当前时间戳的不同偏移值是相同的。我相信我正确地解释了这个问题,如果你想要任何信息,请问我。
答案 0 :(得分:0)
我相信你所寻找的是date_default_timezone_set()
date_default_timezone_set()设置所有日期/时间函数使用的默认时区
答案 1 :(得分:0)
timestamp
数据类型存储应用程序中的所有日期SET time_zone=TZ
来完成,其中TZ
const是时移,如“+10:00”,或者如果你很幸运,你的mysql服务器已经导入时区集合 - 更正确的方式如下: “Asia / Vladivostok”(SET time_zone="Asia/Vladivostok"
)ini_set('date.timezone', TZ)
或已经提到date_default_timezone_set()
答案 2 :(得分:0)
您的数据似乎存在潜在问题。
员工表包含过去事件的固定时区偏移 - 可能是在创建配置文件时 - 但这些不一定用于确定未来事件的偏移量,因为许多位置使用夏令时(DST)。
目前,时区表似乎是多余的,因为您无法对员工进行交叉引用。而且,由于夏令时,抵消将会改变。
您通常会将每个用户的位置存储在数据库中,然后使用date_default_timezone_set()
之类的内容来正确显示该位置的时间。