0

这可能是个愚蠢的问题,但无论如何我都会问。

我真的需要在现场实施 gmt 才能在帖子上获得正确的时间戳吗?好吧,我正在建立一个像 twitter 这样的网站。我的提要运行良好并向我显示我需要的时间,就像它显示“发布 11 分钟,昨天发布,5 天前发布..”就像这个网站一样,所以我认为它应该适合每个人,你的想法? 还是您认为我需要在其上实施 gmt 并且您是否建议或有任何文章以正确的方式实施它?

抱歉,如果这听起来很愚蠢:O

4

3 回答 3

2

从长远来看,无论用户界面如何呈现,最好始终以 GMT/UTC 存储时间戳。这有两个优点:

  • 在某些时候更改 UI 时,您无需触摸数据
  • 它提供了明确的设计指南(就明确的正确/错误决定而言):任何处理时间的特定功能都可以独立审查。处理 UTC 时间戳

至于具体的编程指南:这些在很大程度上取决于您要执行的功能。大多数时候,您需要 from-utc 或 to-utc 操作。

于 2009-10-12T13:49:26.170 回答
1

这是一个很好的观点,但考虑一下 1 天前建议“昨天”的情况,而对于某些用户来说,现在是凌晨 1:05。我想如果你使用 days = hours % 24 而不是 days = datediff(then, now).days,那么它会正常工作。

我认为问题是:您的网站需要多准确?如果它是用于医学读数,那么有人可以知道他们的药物何时到期,那么是的,您想要正确考虑时区,并给出准确的时间,而不仅仅是“x 前”。不过,如果只是为了“乔两天前打招呼”,那也没什么大不了的。

于 2009-10-12T13:41:04.580 回答
1

当您谈论诸如小时,分钟和秒之类的时间段时,那甚至与时区无关。查看创建时的时间戳,现在查看时间戳。做一些减法,瞧!

唯一有点奇怪的是你在几天的范围内。昨天的意思是“最后一个午夜之前的 24 小时内的某个时间”,还是表示“超过 24 小时前”?在任何情况下,如果您提供的唯一粒度级别是“天”,那么一旦超过了大约 2 天,那么这并不重要。

避免混淆的一种好方法是在 SO 上使用的相同方法:将可读、友好的日期放在屏幕上(“昨天”),但将准确的时间(在 GMT 或用户的 TZ 中)作为工具提示。

于 2009-10-12T13:45:49.873 回答