如何从Java中特定时区的日期字段中获取日历日期



我有一个以yyyy-mm-dd hh:mm:ss timezone格式存储在日期变量(java.util.Date((比如2015-4-4 15:30:26-0700(中的日期。现在,如果我尝试获取日历日(即04 april 2015(,它会被转换为我的本地时区,并在第二天打印(即05 april 2015(。如何获取特定时区(如+1:30 GMT(的日历日?我正在使用java.util.Date中的getdate()函数来获取日历日。

我有一个日期存储在日期变量(java.util.date(中,(比如2015-4-4 15:30:26-0700(,格式为yyyy-mm-dd hh:mm:ss时区。

不,您有一个Date变量。它没有任何特定的格式。忽略toString()告诉你的内容——这只是以默认格式在本地时区对其进行格式化。这并不意味着格式或时区是Date对象状态的一部分,它只是表示一个时间点。

听起来你想要:

// Whatever pattern you want - ideally, specify the locale too
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Whatever time zone you want
format.setTimeZone(...);
String text = format.format(date);

或者,如果您只想要Calendar值:

TimeZone zone = ...; // Whatever time zone you want
Calendar calendar = Calendar.getInstance(zone);
calendar.setTime(date);
// Now use calendar.get(Calendar.YEAR) etc

相关内容

  • 没有找到相关文章

最新更新