【发布时间】:2012-05-16 20:36:37
【问题描述】:
我有一段代码可以找出两个日期之间的差异(格式为 yyyy-MM-dd hh:mm:ss)。此代码在全球多个服务器中运行。两个日期之一是运行代码的特定时区的当前时间(服务器时间),另一个是从数据库中获取的时间。如果这两次之间的差异大于 86400 秒(1 天),那么它应该打印“invalid”,否则,它应该打印“valid”。 我面临的代码问题是当我在本地运行它时,它工作正常,但是当我将它部署到美国的服务器上时,它考虑了 GMT 时间而不是本地时间。 无论代码在哪里运行,我都想要当前时间和从数据库中获取的时间之间的差异,如果它大于 86400 秒,我想打印无效。如何在java中实现这一点? PS:我尝试使用 Date 对象,但它只在任何地方考虑 GMT。
【问题讨论】:
-
设置默认时区是否适合您?:docs.oracle.com/javase/7/docs/api/java/util/…
-
不,设置默认时区仅在代码部署在单个时区时才有效。我的代码将部署在全球多个服务器中
标签: java date time calendar timezone