我在将字符串日期解析为Date
目的。我用一个DateFormat
解析字符串,当我打印日期值时,它给出了我所期望的结果。
但是当我尝试获取日期、月份或年份时,它给了我错误的值。例如,年份是 2011 年,但是当我这样做时.getYear()
它给了我 111。我不知道为什么会发生这种情况。这是相关的代码段:
Date dateFrom = null;
String gDFString = g.getDateFrom();
System.out.println(gDFString);
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
try {
dateFrom = df.parse("04/12/2011");
System.out.println(dateFrom);
System.out.println(dateFrom.getYear());
} catch (ParseException e) {
e.printStackTrace();
}
当我打印出来的时候dateFrom
, I get Sun Dec 04 00:00:00 GMT 2011
,这正是您所期望的。但印刷.getYear()
回报111
.
我需要能够获取时间序列图的日期、月份和年份。
这些方法已经被已弃用。相反,使用Calendar http://download.oracle.com/javase/6/docs/api/java/util/Calendar.html class.
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public final class DateParseDemo {
public static void main(String[] args){
final DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
final Calendar c = Calendar.getInstance();
try {
c.setTime(df.parse("04/12/2011"));
System.out.println("Year = " + c.get(Calendar.YEAR));
System.out.println("Month = " + (c.get(Calendar.MONTH)));
System.out.println("Day = " + c.get(Calendar.DAY_OF_MONTH));
}
catch (ParseException e) {
e.printStackTrace();
}
}
}
Output:
Year = 2011
Month = 3
Day = 12
至于month字段,这是从 0 开始的。这意味着 1 月 = 0 且 12 月 = 11。如javadoc http://download.oracle.com/javase/6/docs/api/java/util/Calendar.html#MONTH,
get 和 set 的字段编号指示月份。这是一个
特定于日历的值。公历一年中的第一个月
儒略历是JANUARY
这是0
;最后取决于
一年中的月份数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)