我需要根据时间戳发送电子邮件。但是时间戳必须是用户所期望的。
时间戳由提交对象的用户设置。
E.g
来自美国洛杉矶的Al保存了一个时间戳为“3/30/2015 10:00:00 a”的物体。
来自德国柏林的Lars保存了一个时间戳为'4/15/2015 11:00 11‘的物体。
查看这些对象并随后发送电子邮件的系统是基于GMT+1时区的。
为了保持它的超级简单,我的想法是根据对象的位置(时区),增加或减去时区时间的差异。
因此,在Al的例子中,系统会减去9个小时(GMT+1差),但在Lars的例子中,系统将保留日期,因为德国也是GMT+1。
这不是个好主意吗?
发布于 2015-03-31 15:37:14
web服务器保存的是数据,而不是用户,所以用户的时间并不重要。对象应以GMT (通用)时间格式的时间戳保存。保存用户的GMT时区偏移量,然后将该偏移量添加到时间戳(在UTC中),以显示用户自己的本地时间。
例如,由于我在CA,所以我的UTCTimeZoneOffset应该是-8。加-8到21:00世界协调时间,对我来说,是13:00。
发布于 2015-03-30 17:54:45
不是很多。也许吧。
问题是,如果洛杉矶的Al在1/1/2015上午10点和7/1/2015上午10点标记某物,这将与格林尼治时间不同。
考虑到我们测量时间的方法过于复杂,“用户希望它是什么”可能会变得非常危险。在可能的情况下,使用UTC (它可能与GMT不同,这取决于您的精度需求)并尽可能地将其转换到本地时间以显示给用户。
https://softwareengineering.stackexchange.com/questions/277775
复制相似问题