小编Alt*_*irl的帖子

我如何检查今天是否有日期?

这就是我所拥有的.

SELECT 
CASE WHEN 
DATE_FORMAT(a.lastLogin, 'W') = DATE_FORMAT(NOW(), 'W') 
THEN 'Today' 
ELSE 
DATE_FORMAT(a.lastLogin, 'W') 
END AS lastlogin
FROM authors a
Run Code Online (Sandbox Code Playgroud)

我很确定有一种更简单的方法可以做到这一点,我很想念.

mysql

7
推荐指数
1
解决办法
1万
查看次数

不使用UTC显示时区

我一直在阅读如何在整个上午这样做,并且普遍的共识是:将您的时间戳存储在UTC中并从那里计算偏移量.

但是,像大多数人一样,我维护现有的代码库,但我无法改变存储日期的方式.至少,不是在规定的时间范围内.

所以我的问题是,我可以安全地做这样的事吗?

// this is my time zone
$timestamp = strtotime($timestampFromDatabase);
date_default_timezone_set('America/New York');
$tz = date_default_timezone_get();

// this is theoretically their timezone, which will eventually
// be taken from a session variable
date_default_timezone_set('Europe/Paris');
$offset = time() - $timestamp;
$timestamp -= $offset;

// now that I have the offset, display dates like this
date('r', $timestamp);
Run Code Online (Sandbox Code Playgroud)

有些人建议不要做日期算术,但是我在这里做错了什么?有没有更好的办法?是否有需要注意的陷阱?我特别感兴趣的是这种方法可以产生什么样的错误,如果有的话,他们会影响谁?

我的老板是那种不关心这个bug只影响1%用户群的人.

编辑:我可以更清楚地说明这一点吗?我似乎没有太多的接受者.任何人?即使是模糊的建议或链接也会非常有用.

php timezone datetime

5
推荐指数
1
解决办法
1362
查看次数

标签 统计

datetime ×1

mysql ×1

php ×1

timezone ×1