Calendar.getInstance给出错误的日期 [英] Calendar.getInstance gives wrong date
本文介绍了Calendar.getInstance给出错误的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我创建了一些小的方法作为Util类,例如以下代码:
I create few small methods as an Util class, like the following code:
public class Util
{
public static final String DATETIME_PATTERN="YYYY/MM/DD - HH:mm:ss";
public static String getDateTime()
{
SimpleDateFormat sdf=new SimpleDateFormat(DATETIME_PATTERN);
return sdf.format(getToday());
}
public static Date getToday()
{
//Calendar today=Calendar.getInstance(); //didn't help
Calendar today=Calendar.getInstance(Locale.TAIWAN); //didn't fix
//Calendar today=Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); //didn't fix as well
return today.getTime();
}
}
然后,进行了非常简单的运行,如下所示:
And, did a very simple run, like this:
//run in main class
System.out.println("Generating sitemap.xml, please wait..."+Util.getDateTime());
结果是一个很奇怪的日期-> 2017/07 / 187
The result is a quite weird date -> 2017/07/187
//Console result:
Generating sitemap.xml, please wait...2017/07/187 - 15:27:21
搜索了类似的问题,并尝试了TimeZone,Locale,但没有帮助。
有什么建议吗?
Searched for similar question, and tried TimeZone, Locale, but didn't help. Any suggestions ?
BTW,这是我的环境:
BTW, here's my environment:
- Windows7 x86
- JDK 1.8.0.131 x86
- 食氧x86
推荐答案
格式化日期的方式存在问题。
尝试将其更改为此
It's a problem with the way you are formatting the date. Try changing it to this
public static final String DATETIME_PATTERN="yyyy/MM/dd - HH:mm:ss";
这篇关于Calendar.getInstance给出错误的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文