java DateTime计算宝宝从出生到现在的时间

import java.util.Scanner;    
import org.joda.time.DateTime;    
import org.joda.time.Days;    
import org.joda.time.LocalDate;    
import org.joda.time.format.DateTimeFormat;    
import org.joda.time.format.DateTimeFormatter;    
    
public class CalBabyJoda {    
        
    private final static String birthday = "2012-3-10 08:20:55";    
    
    public static void main(String[] args) {    
        while(true){    
            Scanner s = new Scanner(System.in);    
            System.out.println("########################################");    
            DateTimeFormatter format1 = DateTimeFormat .forPattern("yyyy-MM-dd HH:mm:ss");    
            DateTimeFormatter format2 = DateTimeFormat .forPattern("yyyy-MM-dd");    
            DateTime startDateTime = DateTime.parse(birthday, format1);    
            System.out.println("宝宝来到这个世界已经");    
            calDateToDay(startDateTime,new DateTime());    
            System.out.println("如选择其它日期请输入(格式例如:2012-11-08 14:24:54或着2012-11-08)");    
            System.out.println("########################################");    
            String endDate = s.nextLine();    
            DateTime endDateTime = null;    
            try{    
                endDateTime = DateTime.parse(endDate,format1);    
            }catch(Exception e){    
                try{    
                    endDateTime = DateTime.parse(endDate,format2);    
                }catch(Exception e1){    
                    System.out.println("输入格式错误!请重新输入.");    
                    continue;    
                }    
            }    
            System.out.println("宝宝从出生到" + endDateTime.toString("yyyy-MM-dd HH:mm:ss") + "已经");    
            calDateToDay(startDateTime,endDateTime);    
        }    
    }    
        
    public static void calDateToDay(DateTime startDateTime,DateTime endDateTime){    
            
         LocalDate start=new LocalDate(startDateTime);      
        LocalDate end=new LocalDate(endDateTime);    
        Days days = Days.daysBetween(start, end);    
        int intervalDays = days.getDays();    
        int intervalHours = endDateTime.getHourOfDay() - startDateTime.getHourOfDay();    
        int intervalMinutes = endDateTime.getMinuteOfHour() - startDateTime.getMinuteOfHour();    
        int intervalSeconds = endDateTime.getSecondOfMinute() - startDateTime.getSecondOfMinute();    
            
            
        if(intervalSeconds < 0){    
            intervalMinutes = intervalMinutes -1;    
            intervalSeconds = 60 + intervalSeconds;    
        }    
            
        if(intervalMinutes < 0){    
            intervalHours = intervalHours -1;    
            intervalMinutes = 60 + intervalMinutes;    
        }    
            
        if(intervalHours < 0){    
            intervalDays = intervalDays -1;    
            intervalHours = 24 + intervalHours;    
        }    
                    
        System.out.println(intervalDays + "天" + intervalHours +     
                "小时" + intervalMinutes + "分钟" + intervalSeconds + "秒");    
        System.out.println("############################");    
    }    
    
}


爱小板凳小编整理: 电影天堂


转载于:https://my.oschina.net/zhangmaoyuan/blog/1606296

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值