JODA-TIME的使用_时间操作计算

  1. import java.util.Calendar;  
  2. import java.util.Date;  
  3. import java.util.Locale;  
  4. import org.joda.time.DateTime;  
  5. import org.joda.time.Days;  
  6. import org.joda.time.LocalDate;  
  7. import org.joda.time.format.DateTimeFormat;  
  8. import org.joda.time.format.DateTimeFormatter;  
  9.   
  10. public class JodaTest {  
  11.   
  12.     public static void main(String[] args) {  
  13.         //初始化时间  
  14.                 DateTime dateTime=new DateTime(201212131823,55);  
  15.                   
  16.                 // 年,月,日,时,分,秒,毫秒    
  17.                 DateTime dt3 = new DateTime(2011213103050333);// 2010年2月13日10点30分50秒333毫秒  
  18.                   
  19.                 //下面就是按照一点的格式输出时间  
  20.                 String str2 = dateTime.toString("MM/dd/yyyy hh:mm:ss.SSSa");  
  21.                 String str3 = dateTime.toString("dd-MM-yyyy HH:mm:ss");  
  22.                 String str4 = dateTime.toString("EEEE dd MMMM, yyyy HH:mm:ssa");  
  23.                 String str5 = dateTime.toString("MM/dd/yyyy HH:mm ZZZZ");  
  24.                 String str6 = dateTime.toString("MM/dd/yyyy HH:mm Z");  
  25.                   
  26.                 DateTimeFormatter format = DateTimeFormat .forPattern("yyyy-MM-dd HH:mm:ss");  
  27.                 //时间解析    
  28.                 DateTime dateTime2 = DateTime.parse("2012-12-21 23:22:45", format);    
  29.                     
  30.                 //时间格式化,输出==> 2012/12/21 23:22:45 Fri    
  31.                 String string_u = dateTime2.toString("yyyy/MM/dd HH:mm:ss EE");    
  32.                 System.out.println(string_u);    
  33.                     
  34.                 //格式化带Locale,输出==> 2012年12月21日 23:22:45 星期五    
  35.                 String string_c = dateTime2.toString("yyyy年MM月dd日 HH:mm:ss EE",Locale.CHINESE);    
  36.                 System.out.println(string_c);  
  37.                   
  38.                 DateTime dt1 = new DateTime();// 取得当前时间  
  39.                    
  40.                 // 根据指定格式,将时间字符串转换成DateTime对象,这里的格式和上面的输出格式是一样的    
  41.                 DateTime dt2 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").parseDateTime("2012-12-26 03:27:39");  
  42.                   
  43.                 //计算两个日期间隔的天数  
  44.                 LocalDate start=new LocalDate(201212,14);    
  45.                 LocalDate end=new LocalDate(20130115);    
  46.                 int days = Days.daysBetween(start, end).getDays();  
  47.                   
  48.                 //计算两个日期间隔的小时数,分钟数,秒数  
  49.                   
  50.                 //增加日期  
  51.                 DateTime dateTime1 = DateTime.parse("2012-12-03");  
  52.                 dateTime1 = dateTime1.plusDays(30);  
  53.                 dateTime1 = dateTime1.plusHours(3);  
  54.                 dateTime1 = dateTime1.plusMinutes(3);  
  55.                 dateTime1 = dateTime1.plusMonths(2);  
  56.                 dateTime1 = dateTime1.plusSeconds(4);  
  57.                 dateTime1 = dateTime1.plusWeeks(5);  
  58.                 dateTime1 = dateTime1.plusYears(3);  
  59.                   
  60.                 // Joda-time 各种操作.....    
  61.                 dateTime = dateTime.plusDays(1// 增加天    
  62.                                     .plusYears(1)// 增加年    
  63.                                     .plusMonths(1)// 增加月    
  64.                                     .plusWeeks(1)// 增加星期    
  65.                                     .minusMillis(1)// 减分钟    
  66.                                     .minusHours(1)// 减小时    
  67.                                     .minusSeconds(1);// 减秒数  
  68.                   
  69.                 //判断是否闰月    
  70.                 DateTime dt4 = new DateTime();    
  71.                 org.joda.time.DateTime.Property month = dt4.monthOfYear();    
  72.                 System.out.println("是否闰月:" + month.isLeap());  
  73.                   
  74.                 //取得 3秒前的时间    
  75.                 DateTime dt5 = dateTime1.secondOfMinute().addToCopy(-3);    
  76.                 dateTime1.getSecondOfMinute();// 得到整分钟后,过的秒钟数    
  77.                 dateTime1.getSecondOfDay();// 得到整天后,过的秒钟数    
  78.                 dateTime1.secondOfMinute();// 得到分钟对象,例如做闰年判断等使用  
  79.                   
  80.                 // DateTime与java.util.Date对象,当前系统TimeMillis转换    
  81.                 DateTime dt6 = new DateTime(new Date());    
  82.                 Date date = dateTime1.toDate();    
  83.                 DateTime dt7 = new DateTime(System.currentTimeMillis());    
  84.                 dateTime1.getMillis();   
  85.                   
  86.                 Calendar calendar = Calendar.getInstance();    
  87.                 dateTime = new DateTime(calendar);  
  88.     }  
  89. }  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值