java中常用的时间操作

最近项目设计时间的转换和计算,长时间没用时间操作了,感觉手有点生,所以在这里记录一下:

Date 常用的方法: getTime() 、setTime();

SimpleDateFormate 常用的方法:  Formate(Date)、 parse(String s);

Calendar常用的方法:getInstance()、set() 、get()、getActualMaximum()、add()、 gettime()、setTime(Date)。

1.Date date =new Date();//新建时间为当前系统时间

   long time =date.getTime();//将时间格式转换long格式

   time = time+24*60*60*1000;
   date.setTime(time);//将long格式转换为date格式

2.SimpleDateFormat:格式化和解析日期的具体类

   String StrD ="2017-06-14 21:02:45";

 

   //yyyy:2017年; MM:06月; dd:14日 HH:21(24小时制,hh:09 12小时 制)     mm:02分 ss:45秒  

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

 

   Date dat =sdfd.parse(StrD);//将字符换转换为Date

   String Dstr=sdfd.format(dat);//将Date转换为对应格式的字符串

3.Calendar是抽象类,其提供了一个工厂方法:Calendar getInstance()。该方法可以根据当前系统所在地区获取一个适当的Calendar的子类实现。

  A.Calendar calendar  = Calendar.getInstance();//默认创建calendar表示的是当前系统的时间

    String className =calendar.getClass().getName();
    System.out.println(className);//输出的是java.util.GregorianCalendar 的toString返回值

    Date date =calendar.getTime();//获取Date类型的时间

 

   B.Calendar calendar = Calendar.getInstance();//通过下边操作设置为2017-12-25
      calendar.set(Calendar.YEAR,2017);
     calendar.set(Calendar.MONTH,11);

     calendar.set(Calendar.DATE,25);
     //calendar.set(Calendar.DAY_OF_MONTH, 25);//和上边效果一样   

     //calendar.set(Calendar.DATE,32);//则变为2018-01-01

 

   C.int weekIndex= calendar.get(Calendar.DAY_OF_WEEK);//周几减一(西方周日为1,周一为2)

      int hourIndex=calendar.get(Calendar.HOUR_OF_DAY);//24小时制

      int hourIndexs=calendar.get(Calendar.HOUR);//12小时制

      int minute=calendar.get(Calendar.MINUTE);//分

      int second=calendar.get(Calendar.SECOND);//秒

      int days=calendar.get(Calendar.DAY_OF_YEAR);//是一年中的第几天

 

   D. int dayss =calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//这个月最多多少天

       int yeardays =calendar.getActualMaximum(Calendar.DAY_OF_YEAR);//这个月最多多少天

 

    E./*
      * 当前日期加1
      */
      calendar.add(Calendar.DAY_OF_YEAR, 1);
      //加两年
      calendar.add(Calendar.YEAR, 2);
        
      //加到32 自动切换
      calendar.add(Calendar.DAY_OF_YEAR, 11);
        
       //减去12小时
       calendar.add(Calendar.HOUR_OF_DAY, 12);

     
     F. Calendar calendar.setTime(date);//将date转换为calendar

        Date date= calendar.getTime();//将calendar 转换为date

当前笔者水平有限,难免出现错误,还望大家提出宝贵意见!

posted @ 2017-06-14 21:36  临飞  阅读(239)  评论(0编辑  收藏  举报