Java中的日期处理工具DateTime
程序员文章站
2022-05-17 20:58:48
...
在java中,可以使用joda提供的类和方法处理。
首先,在java中有两个和日期相关的对象:java.util.Date和java.util.Calendar
Date的常用方式:
Date jdkDate = new Date();
int year = jdkDate.getYear();
int month = jdkDate.getMonth();
int day = jdkDate.getDate();
int hour = jdkDate.getHours();
int minute = jdkDate.getMinutes();
int second = jdkDate.getSeconds();
jdkDate = new Date(year, month, day, hour, minute, second);
DateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String dateStr =format.format(jdkDate);
System.out.println(dateStr);
Calendar的常用方式:
Calendar calendar = Calendar.getInstance();
calendar.set(2000, Calendar.JANUARY, 1, 0, 0, 0);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
Date jdkDate = calendar.getTime();
String dateStr = format.format(jdkDate);
System.out.println(dateStr);
但是这两个对象处理日期的时候,都有点麻烦。我们可以利用第三方的对象处理日期时间。
DateTime的常用方式:
// 新建一个时间,然后对该时间操作,并且格式化输出
DateTime dateTime = new DateTime(2011, 11, 11, 11, 11, 11);
dateTime = dateTime.plusDays(2);
dateTime = dateTime.plusHours(2);
dateTime = dateTime.plusYears(2);
System.out.println(dateTime.toString("yy/MM/dd HH:mm:ss EE"));
//一当前时间点,新建一个时间,
dateTime = new DateTime();
dateTime = dateTime.minusSeconds(1);
dateTime = dateTime.minusMinutes(1);
dateTime = dateTime.minusHours(1);
System.out.println(dateTime.toString("yy/MM/dd HH:mm:ss EE"));
//DateTime转换为Calendar
Calendar calendar = dateTime.toCalendar(new Locale("zh", "ZH"));
System.out.println(calendar.get(Calendar.YEAR) + "-" + calendar.get(Calendar.MONTH) + "-" + calendar.get(Calendar.DAY_OF_MONTH));
//DateTime转换为jdk的Date
DateFormat df = null;
Date jkdDate = dateTime.toDate();
df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(jkdDate));
当然,这只是一个最常用的DateTime类的最简单的用法,还有其他的类的其他用法。
我个人觉得这个东西好用的最大特点是可以和jdk中的Date和Calendar互相转换,提高了他的可用性。
下载地址:http://sourceforge.net/projects/joda-time/files/joda-time/2.0/
更专业的讲解:http://www.ibm.com/developerworks/cn/java/j-jodatime.html
下一篇: 日期与周的获得