java - 从日期中减去日期偏移量

标签 java date

当我打印日期时,我可以看到偏移量为 -6.00

2012-12-31T18:00:00 -0600

有没有一种干净的方法可以将偏移量添加到日期中,我在 java.util.Date 中看不到任何内容.

我使用以下方式打印日期:

DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss Z");
String date = sdf.format(new Date(dateInMilliseconds));

最佳答案

偏移量与 TimeZone 有关.

如果您正在使用Calendar ,你可以这样获取时区:

Calendar cal = Calendar.getInstance();
TimeZone tz = cal.getTimeZone();

如果您有 TimeZone 实例,您可以获取给定日期的偏移量,如下所示:

int offset = tz.getOffset(cal.getTime().getTime());

当您问“我可以添加偏移量吗?”时,我不确定您的意思

如果您想标准化日期,您可以使用 UTC 时间。

您可以使用 SimpleDateFormat 来完成此操作,如下所示:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(sdf.format(new Date()));

现在的输出:

  2013-06-25T19:09:10

关于java - 从日期中减去日期偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17305258/

相关文章:

sql - HugSQL错误: column "date_answer" is of type date but expression is of type character varying?

java - 从 AsyncTask 中设置新位图的引用

java - 如何使用java中的rest api从共享点列表中获取文件内容

java - 在Pentaho Kettle中,如何检查文件名是否存在?

Firefox 上的 Javascript 时间计算问题

php - 获取PHP中两个日期之间的所有月份

java - PushAsync 导航上的 Xamarin Forms 'DrawerLayout must be measured with MeasureSpec.EXACTLY.' 错误

java - android系统会阻止FCM通知吗

date - 使用 Shopify Liquid 将日期转换为时间戳

javascript - 减去迄今为止的天数循环