日期时间总结大全

来源:互联网 发布:任易行期货软件 编辑:程序博客网 时间:2024/06/05 14:30

今天做项目,碰到日期,时间相互转换及获取时间间隔的天数,做了一个总结:

1.Calendar 转化 String 
 //获取当前时间的具体情况,如年,月,日,week,date,分,秒等 
        Calendar calendat = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(calendar.getTime());


2.String 转化Calendar
String str="2010-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

3.Date 转化String
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
String dateStr=sdf.format(new Date());

4.String 转化Date 
String str="2010-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date birthday = sdf.parse(str);

5.Date 转化Calendar
Calendar calendar = Calendar.getInstance();
calendar.setTime(new java.util.Date());

6.Calendar转化Date
Calendar calendar = Calendar.getInstance();
java.util.Date date =calendar.getTime();

以上是时间日期转换方式,下面是毫秒值与日期的转换,通常用于获取某个时间间隔:
 //毫秒转换为日期
        DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        long now = System.currentTimeMillis();
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(now);
        System.out.println(now + " = " + formatter.format(calendar.getTime()));

        // 日期转换为毫秒 两个日期想减得到天数
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String start="2011-09-20 12:30:45";
        String end ="2011-10-20 6:30:00";
        //得到毫秒数
        long timeEnd = 0;
        long timeStart = 0;
try {
timeStart=sdf.parse(start).getTime();
timeEnd = sdf.parse(end).getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
        //两个日期相减得到天数
        long dayCount= (timeEnd-timeStart)/(24*3600*1000);



       

1 0