• Java里的时间类以及函数


    1.Java计算某一月份的最大天数

    1 Calendar time=Calendar.getInstance();//使用默认时区和语言环境获得一个日历
    2 time.clear();
    3 time.set(Calendar.YEAR,year);
    4 time.set(Calendar.MONTH,i-1);//注意Calendar对象默认一月是为零的
    5 int day=time.getActualMaximum(Calendar.DAY_OF_YEAR);//获得本月份的天数

    注意:在使用set方法之前,必须先调用clear(),否则很多信息会继承自系统当前的时间

    2.Java中Calendar和Date的转化

      (1)Calendar转化为Date

    1 Calendar cal=Calendar.getInstance();
    2 Date date=cal.getTime();

      (2)Date转换为Calendar

    1 Date date=new Date();
    2 Calendar cal=Calendar.getInstance();
    3 cal.setTime();

    3.Java格式化输出日期时间

    1 Date date=new Date();
    2 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//设置日期时间格式
    3 System.out.println(df.format(date));

    4.Java计算一年中的第几星期

      (1)计算某一天是一年中的第几星期

    1 Calendar cal=Calendar.getInstance();
    2 cal.set(Calendar.YEAR,2012);
    3 cal.set(Calendar.MONTH);
    4 cal.set(Calendar.DAY_OF_MONTH,3);
    5 int weekno=cal.get(Calendar.WEEK_OF_YEAR);

      (2)计算一年中的星期几是几号

    1 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
    2 Calendar cal=Calendar.getInstance();
    3 cal.set(Calendar.YEAR,2012);
    4 cal.set(Calendar.WEEK_OF_YEAR,1);
    5 cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
    6 System.out.println(df.format(cal.getTime()));

    输出结果为:

    2012-01-02

    5.add()和roll()的用法

      (1)add()方法

     1 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
     2 Calendar cal=Calendar.getInstance();
     3 cal.set(Calendar.YEAR,2012);//设置年份
     4 cal.set(Calendar.MONTH,5);//设置月份
     5 cal.set(Calendar.DAY_OF_MONTH,5);
     6 cal.add(Calendar.DATE,-4);
     7 Date date=cal.getTime();
     8 System.out.println(df.format(date));
     9 cal.add(Calendar.DATE,4);
    10 date=cal.getTime();
    11 System.out.println(df.format(date));

    输出结果为:

    2012-06-05

    2012-06-01

      (2)roll()方法

     1 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
     2 Calendar cal=Calendar.getInstance();
     3 cal.set(Calendar.YEAR, 2012);
     4 cal.set(Calendar.MONTH,8);
     5 cal.set(Calendar.DAY_OF_MONTH, 3);
     6 cal.roll(Calendar.DATE,-4);
     7 Date date=cal.getTime();
     8 System.out.println(df.format(date));
     9 cal.roll(Calendar.DATE,4);
    10 date=cal.getTime();
    11 System.out.println(df.format(date));

    输出结果为:

    2012-09-29

    2012-09-03

    可见,roll()方法在本月内循环,一般使用add()方法;

  • 相关阅读:
    4
    3
    2
    JAVA中的Token
    swagger2常用注解说明
    Java SimpleDateFormat 中英文时间格式化转换
    Shiro+Redis实现tomcat集群session共享
    理解并设计rest/restful风格接口
    这一篇比上一遍更形象一点,整合到一起看看还是不错的
    SSM 三大框架---事务处理
  • 原文地址:https://www.cnblogs.com/ayan/p/2451129.html
Copyright © 2020-2023  润新知