我刚从前一位开发人员手中接管了新系统的开发,说实话,这是一团糟。
所有日记项目提前1小时,保存的格式为1355385600.负责时间的字段为start_time和end_time。
我需要一种方法来批量更新数据库中的所有条目,并从中删除一小时。
你们对我如何做到这一点有什么想法吗?
干杯
注意:我应该提到默认时区已正确设置为'Europe / London',当您添加新日记条目时,时间是正确的。我需要做的是找到一种方法来批量更新数据库中的所有当前条目,然后返回1小时。这可能吗?
答案 0 :(得分:0)
您需要设置时区。
对于我的网站,我使用date_default_timezone_set('Europe/Berlin')
设置时区,当我在数据库中插入日期时间时,我使用date('Y/m/d H:i:s')
。
对于你的,而不是date('Y/m/d H:i:s')
,它应该是strtotime(date('Y/m/d H:i:s'))
答案 1 :(得分:0)
只需更新字段并添加一小时
UPDATE
yourtable
SET
start_time = start_time - 3600,
end_time = end_time - 3600
WHERE
start_time <= max time prior timezone fix
编辑:当然是指子