这可能是个愚蠢的问题,但无论如何我都会问。
我真的需要在现场实施 gmt 才能在帖子上获得正确的时间戳吗?好吧,我正在建立一个像 twitter 这样的网站。我的提要运行良好并向我显示我需要的时间,就像它显示“发布 11 分钟,昨天发布,5 天前发布..”就像这个网站一样,所以我认为它应该适合每个人,你的想法? 还是您认为我需要在其上实施 gmt 并且您是否建议或有任何文章以正确的方式实施它?
抱歉,如果这听起来很愚蠢:O
从长远来看,无论用户界面如何呈现,最好始终以 GMT/UTC 存储时间戳。这有两个优点:
至于具体的编程指南:这些在很大程度上取决于您要执行的功能。大多数时候,您需要 from-utc 或 to-utc 操作。
这是一个很好的观点,但考虑一下 1 天前建议“昨天”的情况,而对于某些用户来说,现在是凌晨 1:05。我想如果你使用 days = hours % 24 而不是 days = datediff(then, now).days,那么它会正常工作。
我认为问题是:您的网站需要多准确?如果它是用于医学读数,那么有人可以知道他们的药物何时到期,那么是的,您想要正确考虑时区,并给出准确的时间,而不仅仅是“x 前”。不过,如果只是为了“乔两天前打招呼”,那也没什么大不了的。
当您谈论诸如小时,分钟和秒之类的时间段时,那甚至与时区无关。查看创建时的时间戳,现在查看时间戳。做一些减法,瞧!
唯一有点奇怪的是你在几天的范围内。昨天的意思是“最后一个午夜之前的 24 小时内的某个时间”,还是表示“超过 24 小时前”?在任何情况下,如果您提供的唯一粒度级别是“天”,那么一旦超过了大约 2 天,那么这并不重要。
避免混淆的一种好方法是在 SO 上使用的相同方法:将可读、友好的日期放在屏幕上(“昨天”),但将准确的时间(在 GMT 或用户的 TZ 中)作为工具提示。