Java 如何使用SimpleDataFormat解析字符串数据?
我有以下代码:Java 如何使用SimpleDataFormat解析字符串数据?,java,Java,我有以下代码: SimpleDateFormat format=new SimpleDateFormat("yyyy.MM.dd HH:mm"); try { Date date=format.parse("2012.9.11 02:00"); Log.i("date", date.toGMTString()); } catch (ParseException e) {
SimpleDateFormat format=new SimpleDateFormat("yyyy.MM.dd HH:mm");
try {
Date date=format.parse("2012.9.11 02:00");
Log.i("date", date.toGMTString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.e("exception", e.getMessage());
}
但我得到的信息是:“2012年9月10日22:00:00 GMT”,即日期不正确。我怎样才能修好它 您正在打印
date.togmString()
,因此您会得到“2012年9月10日22:00:00 GMT”,这不是错误的字符串,而是格林威治标准时间中的日期。请注意,这是不推荐的
如果您想以您的格式打印日期,您可以这样做
Log.i("date", format.format(date));
如果您不想获得补充“0”,请使用
您正在打印
date.togmString()
,因此您会得到“2012年9月10日22:00:00 GMT”,这不是一个错误的字符串,而是格林威治标准时间中的日期。请注意,这是不推荐的
如果您想以您的格式打印日期,您可以这样做
Log.i("date", format.format(date));
如果您不想获得补充“0”,请使用
根据,date.togmString()
是一种不推荐使用的方法
使用不推荐的方法不是一个好的做法
使用date.toString()
而不是date.togmString()
或
format.format(日期)代码>根据,date.togmString()
是一种不推荐使用的方法
使用不推荐的方法不是一个好的做法
使用date.toString()
而不是date.togmString()
或
format.format(日期)编码>确认是正确的日期。它是根据您的GMT偏移量计算的
要这样打印,请使用date.tolocalString()
(不推荐使用的方法)
或者,您可以使用类打印日期,使用:
SimpleDateFormat format=new SimpleDateFormat("yyyy.MM.dd HH:mm");
Date date=format.parse("2012.09.11 02:00");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
System.out.println(format.format(cal.getTime()));
此打印:2012.09.11 02:00
有关更多信息,您可以看到是正确的日期。它是根据您的GMT偏移量计算的
要这样打印,请使用date.tolocalString()
(不推荐使用的方法)
或者,您可以使用类打印日期,使用:
SimpleDateFormat format=new SimpleDateFormat("yyyy.MM.dd HH:mm");
Date date=format.parse("2012.09.11 02:00");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
System.out.println(format.format(cal.getTime()));
此打印:2012.09.11 02:00
有关更多信息,请参见方法togmString()
已弃用。
但是,作为一种解释,您可能处于不同的时区,因此具有不同的区域设置。
尝试替换为date。ToLocalString()
应能正确输出,尽管也是一种不推荐使用的方法。该方法TogmString()
已不推荐使用。
但是,作为一种解释,您可能处于不同的时区,因此具有不同的区域设置。
尝试替换为date.toLocalString()
应能正确输出,尽管这也是一种不推荐的方法。这是不正确的,因为您使用的是date.togmString()
只要试着输出变量date
,就可以看到正确的时间 这是不正确的,因为您使用的是date.togmString()
只要试着输出变量date
,就可以看到正确的时间 parse将字符串解释为本地时区的日期,toGMTString()以GMT/UTC格式打印日期,这就是为什么在输出中会看到不同的日期。看这一点,它非常详细。@БааСаааббббббббббббб107以GMT/UTC格式打印日期,这就是为什么您在输出中看到不同的日期。看这一点,它非常详细。@Бааабббббббббббббббббббб
是一种不推荐使用的方法。@Hardik Mishra我知道,这就是我添加日历实现的原因在我的注释之后添加的示例:)事实上,我正在处理它,而你在哪里发布你的评论:PJust FYIdate.ToLocalString()
是一种不推荐的方法。@Hardik Mishra我知道,这就是我添加日历实现的原因在我的评论之后添加的示例:)事实上我正在做这件事,而你在哪里发表你的评论:P