Java2个date的天差工具类_使用joda-time工具类 计算时间相差多少 天,小时,分钟,秒...

1 package jodotest;

2

3 import java.text.ParseException;

4 import java.text.SimpleDateFormat;

5 import java.util.Date;

6

7 import org.joda.time.DateTime;

8 import org.joda.time.Days;

9 import org.joda.time.Hours;

10 import org.joda.time.Interval;

11 import org.joda.time.Minutes;

12 import org.joda.time.Period;

13 import org.joda.time.Seconds;

14

15 /**

16 * @author wanggang

17 *

18 */

19 public class Test {

20 public static void test1(Date d1, Date d2){

21

22 // 毫秒ms

23 long diff = d2.getTime() - d1.getTime();

24

25 long diffSeconds = diff / 1000 % 60;

26 long diffMinutes = diff / (60 * 1000) % 60;

27 long diffHours = diff / (60 * 60 * 1000) % 24;

28 long diffDays = diff / (24 * 60 * 60 * 1000);

29

30 System.out.print("时间相差:");

31 System.out.print(diffDays + " 天 ");

32 System.out.print(diffHours + " 小时 ");

33 System.out.print(diffMinutes + " 分钟 ");

34 System.out.print(diffSeconds + " 秒.");

35 System.out.println();

36 }

37

38 public static void test2(Date d1, Date d2) throws ParseException{

39

40 DateTime dt1 = new DateTime(d1);

41 DateTime dt2 = new DateTime(d2);

42 System.out.print("时间相差:");

43 System.out.print(Days.daysBetween(dt1, dt2).getDays() + " 天 ");

44 System.out.print(Hours.hoursBetween(dt1, dt2).getHours() % 24 + " 小时 ");

45 System.out.print(Minutes.minutesBetween(dt1, dt2).getMinutes() % 60 + " 分钟 ");

46 System.out.print(Seconds.secondsBetween(dt1, dt2).getSeconds() % 60+ " 秒.");

47 System.out.println();

48 }

49

50 public static void test3(Date d1, Date d2){

51 Interval interval = new Interval(d1.getTime(), d2.getTime());

52 Period p = interval.toPeriod();

53 System.out.println("时间相差:"+p.getDays()+" 天 " + p.getHours()+ " 小时 "+p.getMinutes()+" 分钟"+p.getSeconds()+" 秒");

54 }

55

56

57

58

59 /**

60 * @param args

61 * @throws ParseException

62 */

63 public static void main(String[] args) throws ParseException {

64 String dateStart = "2013-08-13 16:29:58";

65 String dateStop = "2013-08-13 16:31:48";

66

67 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

68

69 Date d1 = format.parse(dateStart);

70 Date d2 = format.parse(dateStop);

71 test1(d1, d2);

72 test2(d1, d2);

73 test3(d1, d2);

74 }

75 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值