既然无法摆脱时间,那就用Joda-Time简化时间处理。
如果您也曾使用 java.util.Calendar可以使用lendar这个类处理过日期/时间值,那么您就知道它使用起来有多麻烦。所以你可以选择Joda-Time — 面向 Java 应用程序的日期/时间库的替代选择。
为什么要使用 Joda?
1.强大的日期处理
2.JDK 互操作性
3.更简单的格式化
如何创建Joda的Datetime?
//这个构造函数使用系统时间:
DateTime dateTimeS = new DateTime();
System.out.println("System time:"+dateTimeS.toString());
//使用另一个对象(例如,java.util.Date,或者是另一个 Joda 对象)。
java.util.Date jdkDate = obtainDateSomehow();
DateTime dateTime1 = new DateTime(jdkDate);
// Use a Calendar
java.util.Calendar calendar = obtainCalendarSomehow();
DateTime dateTimeC = new DateTime(calendar);
// Use another Joda DateTime
DateTime anotherDateTime = new DateTime(dateTimeC);
// Use a String (must be formatted properly)
String timeString = "2006-01-26T13:30:00-06:00";
DateTime dateTimeStr = new DateTime(timeString);
timeString = "2006-01-26";
dateTimeStr = new DateTime(timeString);
//指定一个瞬间时刻(或局部时间片段),以毫秒为单位。
long timeInMillis = jdkDate.getTime();
DateTime dateTime2 = new DateTime(timeInMillis);
//创建表示 LocalDate 的 Date 对象
DateTime dateTimex = new DateTime(dateTime2.toLocalDate().toDateMidnight().toDate());
System.out.println("local time"+dateTimex.toString());
//创建一个用时间表示的某个随意的时刻 — 比如,2000 年 1 月 1 日 0 时 0 分。
//Calendar calendar = Calendar.getInstance();// 使用Calendar的方式
//calendar.set(2000, Calendar.JANUARY, 1, 0, 0, 0);
DateTime dateTime = new DateTime(2000, 1, 1, 0, 0, 0, 0);
System.out.println(dateTime.toString());