Joda-Time存在的目的:
任何企业应用程序都需要处理时间问题。应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径。使用 JDK 完成这项任务将非常痛苦和繁琐的,而Joda-Time就是在这样的背景下诞生的,所以说Joda-Time相较于原生的java中的Date和Calendar时间操作而言,功能更加的强大,但是操作却更加的简化,下面是其显示的代码示例:
package com.makotogroup.joda;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import org.apache.log4j.Logger;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class TestDateTime {
private static Logger log = Logger.getLogger(TestDateTime.class);
/**
* 获取当前时间
* @return
*/
public DateTime getCurrentTime(){
return new DateTime();
}
public static void main(String[] args) {
//当前的Joda-time版本为:joda-time-2.9.9.jar
//Joda-time的版本不同,其支持的方法也不尽相同,比如说在joda-time-1.6.jar中,并不支持
//DateTime.parse(String,DateTimeFormatter),而在joda-time-2.9.9.jar中是支持的
TestDateTime testDateTime=new TestDateTime();
//获取当前时间
DateTime dateTime=testDateTime.getCurrentTime();
//获取当前时间字符串
String dateTimeString=dateTime.toString("yyyy-MM-dd HH:mm:ss");
log.info("当前时间:"+dateTimeString);
//获取年
log.info("当前年:"+dateTime.getYear());
//获取月
log.info("当前月:"+dateTime.getMonthOfYear());
//获取日
log.info("当前日:"+dateTime.getDayOfMonth());
//获取小时
log.info("当前小时:"+dateTime.getHourOfDay());
//获取分钟
log.info("当前分钟:"+dateTime.getMinuteOfHour());
//获取秒
log.info("当前秒:"+dateTime.getSecondOfMinute());
//获取毫秒
log.info("当前毫秒:"+dateTime.getMillisOfSecond());
//获取当前时间戳
log.info("当前的时间戳为:"+dateTime.getMillis());
//获取周
log.info("当前周为:"+dateTime.getWeekOfWeekyear());
//当前时区为(东八区:INFO - +08:00):
log.info("当前周为:"+dateTime.getZone().toString());
//修改周:
log.info("当前周加上两周,结果为:"+dateTime.plusWeeks(2).getWeekOfWeekyear());
//减去2年
log.info("减去两年,结果为:"+dateTime.plusYears(-2).getYear());
//String转换为Joda-time
DateTimeFormatter dtf=DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
//方法一
DateTime dateTime2 = DateTime.parse(dateTimeString, dtf);
//方法二
DateTime dateTime3=dtf.parseDateTime(dateTimeString);
log.info("格式化后的结果1:"+dateTime2);
log.info("格式化后的结果2:"+dateTime3);
//将Joda-time转换成String
log.info("Joda-time转换成String:"+dateTime.toString("yyyy-MM-dd HH:mm:ss a"));
//将Date转换成Joda-time
Date date=new Date();
DateTime dateTime4=new DateTime(date);
log.info("Date转DateTime:"+dateTime4);
//将Joda-time转换成Date
log.info("Joda-time转换成Date:"+dateTime4.toDate());
//将Calendar转换成Joda-time
Calendar calendar=Calendar.getInstance();
DateTime dateTime5=new DateTime(calendar);
log.info("将Calendar转换成DateTime:"+dateTime5);
//Joda-time转换成Calendar
Calendar calendar2=dateTime5.toCalendar(Locale.CHINA);
log.info("将Joda-time转换成Calendar:"+calendar2);
//自定义时间
//参数分别是:年,月,日,时,分,秒,毫秒
DateTime dateTime6=new DateTime(2015,1,1,1,1,1,1);
log.info("自定义的时间:"+dateTime6.toString("yyyy-MM-dd HH:mm:ss a"));
//将Joda-time转换成long类型
log.info("Joda-time转换成long类型:"+dateTime6.getMillis());
//将long类型转换成Joda-time
long time = 1420045261001L;
DateTime dateTime7 = new DateTime(time);
log.info("long转换成Joda-time:"+dateTime7);
}
}
最后附上Joda-Time api文档的官方地址:
http://www.joda.org/joda-time/apidocs/index.html
版权声明:本文为ZZY1078689276原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。