Java JDK8之前传统的日期时间-Date、SimpleDateFormat、Calendar

1. Date

        (1) Date代表的是日期和时间

        (2) 常见构造器和常用方法

构造器说明
public Date()创建一个Date对象,代表系统当前日期和时间
public Date(long time)根据传入的时间毫秒值创建一个Date对象
方法说明
public long getTime()返回从1970.1.1 00:00:00到此时的毫秒数
public void setTime(long time)设置日期对象的时间为传入的时间毫秒值对应的时间
public static void main(String[] args) {
        //Date

        //public Date() 创建一个Date对象,代表系统当前日期和时间
        Date date = new Date();
        System.out.println(date);

        //public long getTime()	返回从1970.1.1 00:00:00到此时的毫秒数
        long time = date.getTime();
        System.out.println(time);

        //public Date(long time) 根据传入的时间毫秒值创建一个Date对象
        Date date1 = new Date(time + 1000);
        System.out.println(date1);

        //public void setTime(long time)	设置日期对象的时间为传入的时间毫秒值对应的时间
        Date date2 = new Date();
        date2.setTime(time);
        System.out.println(date2);

}

2. SimpleDateFormat

        (1) SimpleDateFormat 代表简单日期格式化,可以用来把日期对象、时间毫秒值格式化成功我们想要的格式。

        (2) SimpleDateFormat常用构造器和方法

常用构造器说明
public SimpleDateFormat(String pattern)创建简单日期格式化对象,并封装时间的格式
常用方法说明
public final String format(Date date)将日期格式化成日期/时间字符串
public final String format(Object time)将时间毫秒值格式化成日期/时间字符串

                  时间格式:

                

 public static void main(String[] args) {
        //SimpleDateFormat

        Date date = new Date();
        System.out.println(date);

        long time = date.getTime();
        System.out.println(time);

        //格式化日期时间
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
        System.out.println(sdf.format(date));
        System.out.println(sdf.format(time));
}

        (3) 时间格式常见的符号

y
M
d
H
m
s
EEE星期几
ashangwu

        (4) SimpleDateFormat把字符串解析成日期对象

                public Date parse(String source) 把字符串解析成日期对象  

public static void main(String[] args) throws ParseException {

        // public Date parse(String source) 把字符串解析成日期对象  throws ParseException 程序单选格式不一样

        String dateStr ="2024-12-19 12:00:00";
        //创建简单日期格式对象,指定的时间格式必须与被解析的时间格式一致,否则会出bug 
        SimpleDateFormat simpleDateFormat = new  SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date1 = simpleDateFormat.parse(dateStr);
        System.out.println(date1);
}

3. Calendar

        (1) Calendar 代表的是系统此刻时间对应的日历;通过他可以单独获取/修改时间中的年、月、日、时、分、秒等;

        (2) Calendar是一个抽象类;可以通过Calendar rightNow = Calendar.getInstance();来获取当前日历对象

        (3) Calendar常用的方法

常用方法说明
public static Calendar getInstance()获取当前日历对象
public int get(int field)获取日历中的某个信息
public final Date getTime()获取日期对象
public long getTimeInMillis()获取时间毫秒值
public void set(int field, int value)修改日历的某个信息
public abstract void add(int field, int amount)为某个信息增加/减少指定的值

                

public static void main(String[] args) {
        //Calendar

        //public static Calendar getInstance()	获取当前日历对象
        Calendar cal = Calendar.getInstance();
        System.out.println(cal);

        //public int get(int field)	获取日历中的某个信息
        System.out.println(cal.get(Calendar.YEAR));//年
        System.out.println(cal.get(Calendar.MONTH) + 1);//月 从0开始
        System.out.println(cal.get(Calendar.DAY_OF_MONTH));//日

        //public final Date getTime()	获取日期对象
        Date date = cal.getTime();
        System.out.println(date);

        //public long getTimeInMillis()	获取时间毫秒值
        long time = cal.getTimeInMillis();
        System.out.println(time);

        //public void set(int field, int value)	修改日历的某个信息
        cal.set(Calendar.YEAR, 2030);//修改年
        cal.set(Calendar.MONTH, 9);//修改月
        cal.set(Calendar.DAY_OF_MONTH, 6);//修改日

        //public abstract void add(int field, int amount)	为某个信息增加/减少指定的值
        cal.add(Calendar.YEAR, -5);//当前年份-5
        cal.add(Calendar.MONTH, 3);//当前月份+3
        cal.add(Calendar.DAY_OF_MONTH, +2);//当前日+2
}

        (4) Calendar 是可变对象,一旦修改后其对象本身表示的时间将发生变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值