任何时区的当前日期和时间("Wall"日期和时间)



好吧,我知道这个问题在很多地方被问了很多次,但我还不能解决这个问题。我尝试了java.util.DateJodaTimeAPI。

我的问题是,考虑到我的应用程序运行的时区,如何返回当前日期和时间。这是我写的一个方法,用来返回当前日期时间。问题是,它总是给我返回UTC时间。

private String getCurrentDate()
{
DateTime currentDate = new DateTime(DateTimeZone.getDefault());
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM hh:mm");
String dateNow = formatter.format(currentDate);
return dateNow;
}

谢谢你帮我!

private String getCurrentDate()
{
final DateFormat format = DateFormat.getDateTimeInstance();
format.setTimeZone(Calendar.getInstance().getTimeZone());
return format.format(new Date());
}

这应该能胜任工作。获取真正的本地时区的棘手部分。但是Java的Calendar类很好地实现了这一点。

作为DateFormat,如果您愿意,也可以使用您的SimpleDateFormat

DateFormat(和SimpleDateFormat)默认为JVM的时区,应该是您计算机的时区。

DateFormat format = new SimpleDateFormat("dd-MMM hh:mm");
System.out.println(format.format(new Date()));

在本地时区打印。您总是可以通过调用setTimeZone来显式设置DateFormat的时区。

format.setTimeZone(TimeZone.getTimeZone("PDT"));

相关内容

  • 没有找到相关文章

最新更新