欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java自学-日期 Calendar

程序员文章站 2022-07-02 12:52:15
Java的Calendar类 Calendar类即日历类,常用于进行“翻日历”,比如 下个月的今天是哪天 示例 1 : Calendar与Date进行转换 采用单例模式获取日历对象Calendar.getInstance(); package date; import java.util.Calen ......

java的calendar类

calendar类即日历类,常用于进行“翻日历”,比如下个月的今天是哪天

示例 1 : calendar与date进行转换

采用单例模式获取日历对象calendar.getinstance();

package date;
  
import java.util.calendar;
import java.util.date;
  
public class testdate {
  
    public static void main(string[] args) {
        //采用单例模式获取日历对象calendar.getinstance();
        calendar c = calendar.getinstance();
          
        //通过日历对象得到日期对象
        date d = c.gettime();
  
        date d2 = new date(0);
        c.settime(d2); //把这个日历,调成日期 : 1970.1.1 08:00:00
    }
}

示例 2 : 翻日历

add方法,在原日期上增加年/月/日
set方法,直接设置年/月/日
Java自学-日期 Calendar

package date;
 
import java.text.simpledateformat;
import java.util.calendar;
import java.util.date;
 
public class testdate {
 
    private static simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss");
 
    public static void main(string[] args) {
        calendar c = calendar.getinstance();
        date now = c.gettime();
        // 当前日期
        system.out.println("当前日期:\t" + format(c.gettime()));
 
        // 下个月的今天
        c.settime(now);
        c.add(calendar.month, 1);
        system.out.println("下个月的今天:\t" +format(c.gettime()));
 
        // 去年的今天
        c.settime(now);
        c.add(calendar.year, -1);
        system.out.println("去年的今天:\t" +format(c.gettime()));
 
        // 上个月的第三天
        c.settime(now);
        c.add(calendar.month, -1);
        c.set(calendar.date, 3);
        system.out.println("上个月的第三天:\t" +format(c.gettime()));
 
    }
 
    private static string format(date time) {
        return sdf.format(time);
    }
}

练习calendar

找出下个月的倒数第3天是哪天

答案

package date;
   
import java.text.simpledateformat;
import java.util.calendar;
import java.util.date;
   
public class testdate {
   
    private static simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss");
   
    public static void main(string[] args) {
        calendar c = calendar.getinstance();
          
        system.out.println("今天是:" + format( c.gettime()));
        //先翻到下下个月
        c.add(calendar.month,2);
        //设置到月初
        c.set(calendar.date,1);
        //再往回翻3天
        c.add(calendar.date,-3);
         exception e;
        system.out.println("下个月倒数第三天是:" + format(c.gettime()));
          
    }
   
    private static string format(date time) {
        return sdf.format(time);
    }
}