一、Joda Time基础操作
1、 构造指定时间
// 明确给出年月日时分秒,同时还可以指定毫秒
DateTime dateTime = new DateTime(2017,9,14,20,30,0);
// 使用时间戳构造
Datetime dateTime = new DateTime(1505371053358L);
// 使用字符串构造,使用字符串构造需要自己定义pattern
String date = "2017-09-14 20:30:00";
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dateTime = dateTimeFormatter.parseDateTime(date);
// 指定时区构造时间
DateTime dateTime = new DateTime(DateTimeZone.forTimeZone(TimeZone.getTimeZone("Asia/Shanghai")));
注意:"Asia/Shanghai"是国际时区Id,该ID可以通过JDK代码获取,代码如下:
Calendar c = new GregorianCalendar();
c.setTime(new Date());
String zone[] = c.getTimeZone().getAvailableIDs();
for(int i = 0; i < zone.length; ++i){
System.out.println(zone[i]);
}
2、获取当前时间的时间戳
// Java
long currentTimeOfMills = System.currentTimeMillis();
// Joda Time
DateTime dateTime = new DateTime();
long currentTimeOfMills = dateTime.getMillis();
long currentTimeOfMills = DateTime.now();
3、获得当前时间的时区
DateTime dateTime = new DateTime();
DateTimeZone zone = dateTime.getZone();
4、 获取指定时区的当前时间
DateTimeZone gmt = DateTimeZone.forID("GMT");
DateTime dateTime = new