zoukankan      html  css  js  c++  java
  • java 日期时间类加Calendar的set和add方法

    java.util.Date
      子类:
      java.sql.Date  
      java.sql.Time
      java.sql.Timestamp
    java.text.SimpleDateFormat  (支持其它几个时间类的格式化)
    java.util.Calendar  Calendar类是一个抽象基类,主要用于日期之间的各种计算获取  获取对象的方式  Calendar cal = Calendar.getInstance();

    java.util.Date日期格式为:年月日时分秒  在除了SQL语句的情况下面使用
    java.sql.Date日期格式为:年月日    是针对SQL语句使用的
    java.sql.Time日期格式为:时分秒      是针对SQL语句使用的
    java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)

     1 import java.util.Date;
     2 
     3 public class DateTest {
     4     public static void main(String[] args) {
     5         Date date = new Date();
     6         System.out.println(date);
     7     }
     8 
     9 }
    10 //执行结果:
    11 //Thu Apr 04 12:49:59 CST 2019
     1 import java.sql.Date;
     2 //使用给定的毫秒时间值构造日期对象。如果给定的毫秒值包含时间信息,驱动程序将
     3 //把时间组件设置为默认时区(运行应用程序的Java虚拟机的时区)中对应于0 GMT的时间。
     4 public class DateTest {
     5     public static void main(String[] args) {
     6         Date date = new Date(111111111);
     7         System.out.println(date);
     8     }
     9 
    10 }
    11 执行结果:
    12 1970-01-02
    import java.sql.Time;
    import java.util.Date;
    
    public class DateTest {
        public static void main(String[] args) {
            Date date = new Date();
            Time time = new Time(date.getTime());
            System.out.println(time);
        }
    
    }
    执行结果:
    13:08:42
     1 import java.sql.Timestamp;
     2 import java.util.Date;
     3 
     4 public class DateTest {
     5     public static void main(String[] args) {
     6         Date date = new Date();
     7         Timestamp ts = new Timestamp(date.getTime());
     8         System.out.println(ts);
     9     }
    10 
    11 }
    12 执行结果
    13 2019-04-04 13:11:11.761

    java.text.SimpleDateFormat 

    年月日格式

    日期和时间模式结果
    "yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
    "EEE, MMM d, ''yy" Wed, Jul 4, '01
    "h:mm a" 12:08 PM
    "hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
    "K:mm a, z" 0:08 PM, PDT
    "yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
    "EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
    "yyMMddHHmmssZ" 010704120856-0700
    "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateTest {
        public static void main(String[] args) {
            Date date = new Date();
            DateFormat format = new SimpleDateFormat("yyy年MM月dd日  HH.mm.ss");
            System.out.println(format.format(date));
        }
    }
    执行结果:
    2019年04月04日  13.19.38

    java.util.Calendar

     1 import java.util.Calendar;
     2 
     3 public class DateTest {
     4     public static void main(String[] args) {
     5 //        Date date = new Date();
     6 //        DateFormat format = new SimpleDateFormat("yyy年MM月dd日  HH.mm.ss");
     7 //        System.out.println(format.format(date));
     8         Calendar cal = Calendar.getInstance();
     9         System.out.println(cal);
    10     }
    11 }
    12 执行结果
    13 java.util.GregorianCalendar[time=1554355353479,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=3,WEEK_OF_YEAR=14,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=94,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=22,SECOND=33,MILLISECOND=479,ZONE_OFFSET=28800000,DST_OFFSET=0]
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class DateTest {
        public static void main(String[] args) {
            DateFormat format = new SimpleDateFormat("yyy年MM月dd日  HH.mm.ss");
            Calendar cal = Calendar.getInstance();
    //        Date date = new Date();
            String s = format.format(cal.getTime());
            System.out.println(s);
    
        }
    }
    执行结果:
    2019年04月04日  13.28.09

     Calendar的set 和add方法区别

     1 import java.text.DateFormat;
     2 import java.text.SimpleDateFormat;
     3 import java.util.Calendar;
     4 
     5 public class TestDemoCal {
     6     static void time(int year,int month,int day) {
     7         //输出5月32号   没有32号,所以输出1号
     8         Calendar cal = Calendar.getInstance();
     9 //        因为月份是从0开始的,set是单纯的设定日期,如果设定的日期不存在的话,他会向下移动。
    10         cal.set(year, month, day);
    11         DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    12         System.out.println(df.format(cal.getTime())); //格式化日期
    13     }
    14     public static void main(String[] args) {
    15         
    16         time(2019,4,32);
    17     }
    18 
    19 }
    20 //执行结果 
    21 //2019-06-01
     1 import java.text.DateFormat;
     2 import java.text.SimpleDateFormat;
     3 import java.util.Calendar;
     4 
     5 public class TestDemoCal {
     6     static void time(int field ,int amount) {
     7         //输出5月32号   五月三十二号离四月五号有57天
     8         Calendar cal = Calendar.getInstance();
     9 //        add它移动的是日期的偏移量。
    10         cal.add(field, amount);
    11         DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    12         System.out.println(df.format(cal.getTime())); //格式化日期
    13     }
    14     public static void main(String[] args) {
    15         
    16         time(Calendar.DAY_OF_MONTH,57);
    17     }
    18 
    19 }
    20 //执行结果 
    21 //2019-06-01

    总结:想要更改输出的日期,先在Calendar的实例上调用add或者set方法改变日期,然后格式化输出cal.getTime(意思是获取当前毫秒数,类型是Date类型),想要单独获取年月日可以调用get方法,例如:cal.get(Calendar.Year);

  • 相关阅读:
    ORACLE增删改查以及case when的基本用法
    ORACLE自增函数,一般函数
    Charles下载与破解方法
    ORACLE常见问题收集
    SpringBoot项目 org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Jetty servlet container报错
    Cordova搭建环境与问题小结
    redis集群搭建
    centos下的redis一键安装shell脚本
    爬虫那些事儿
    Scrapy爬虫框架基本使用
  • 原文地址:https://www.cnblogs.com/19322li/p/10654328.html
Copyright © 2011-2022 走看看