Java自学-日期 Calendar

2019-10-12 08:38:14来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Java自学-日期 Calendar

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);
    }
}

原文链接:https://www.cnblogs.com/jeddzd/p/11661285.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:五、springboot 简单优雅是实现邮件服务

下一篇:数据库设计方法论 - 继承