我刚刚从以前的开发人员那里接手了一个新系统的开发工作,老实说,这真是一团糟。
所有的日记项目都提前1小时,保存格式为1355385600。负责时间的字段是start_time和end_time。
我需要一种方法来批量更新数据库中的所有条目并从中删除一个小时。
你们对我如何实现这一目标有任何想法吗?
干杯
注意:我应该提到默认时区正确设置为“欧洲/伦敦”,当您添加新的日记条目时,时间是正确的。不过,我需要做的是找到一种方法来批量更新数据库中的所有当前条目,以提前 1 小时返回。这可能吗?
我刚刚从以前的开发人员那里接手了一个新系统的开发工作,老实说,这真是一团糟。
所有的日记项目都提前1小时,保存格式为1355385600。负责时间的字段是start_time和end_time。
我需要一种方法来批量更新数据库中的所有条目并从中删除一个小时。
你们对我如何实现这一目标有任何想法吗?
干杯
注意:我应该提到默认时区正确设置为“欧洲/伦敦”,当您添加新的日记条目时,时间是正确的。不过,我需要做的是找到一种方法来批量更新数据库中的所有当前条目,以提前 1 小时返回。这可能吗?
您需要设置时区。
对于我的网站,我使用 设置时区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'))
只需更新您的字段并增加一小时
UPDATE
yourtable
SET
start_time = start_time - 3600,
end_time = end_time - 3600
WHERE
start_time <= max time prior timezone fix
编辑:当然是减法