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方法,直接设置年/月/日
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); } }