JAVA学习笔记(1)与日期相关的类相关知识记录

本文详细介绍Java中处理日期和时间的类,包括Date类的构造函数和常用方法,如getTime()和setTime(),以及如何使用SimpleDateFormat进行日期格式化。同时,文章还深入探讨了Calendar类的使用,包括如何设置和获取特定的日期时间组件。

介绍Java涉及日期的类

  • Date类 – 获取日期对象
  • Calendar类 – 获取日期的特定部分(时分秒)

Date类

  1. 构造函数:
    一共有两个构造函数
    Date(); //使用当前日期和时间初始化对象
    Date(long millisec);//接受一个参数,该参数是从1970年1月1日起的毫秒数
    
  2. 常用方法:
    long getTime();//返回从1970年1月1日以来表示的毫秒数
    void setTime();//使用毫秒数设置时间和日期
    
  3. 使用SimpleDateFormat格式化日期
  • SimpleDateFormat是DateFormat的子类
  • 参考以下实例,使用format(date)进行格式化(Date ->String)
    Date date = new Date();
    SimepleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    system.out.println("当前时间"+ft.format(date));
    
    输出结果
    当前时间 2019-08-19 10:50:15
  • 时间模式字符串用来指定时间格式。
字母描述示例
G纪元标记AD
y四位年份2001
M月份July or 07
d一个月的日期10
hA.M./P.M. (1~12)格式小时12
H一天中的小时 (0~23)22
m分钟数30
s秒数55
S毫秒数234
E星期几Tuesday
D一年中的日子360
F一个月中第几周的周几2 (second Wed. in July)
w一年中第几周40
W一个月中第几周1
aA.M./P.M. 标记PM
k一天中的小时(1~24)24
KA.M./P.M. (0~11)格式小时10
z时区Eastern Standard Time
文字定界符Delimiter
"单引号`
  • parse()进行Date - String的转化
    参考以下实例
    String str = "2019-08-19 10:30:00" ;
    Date date = new SimpleDateFormat("yyyy-MM-dd hh:MM:ss").parse(str);
    
    输出结果
    Mon Aug 19 10:30:00 CST 2019

Calendar类

  1. 创建一个Calendar对象
    Calendar cal = Calendar.getInstance();//默认是当前日期
    
  2. 设置指定时间的方法
  • set方法 :直接设置时间
    //可以设置指定的时间
    void set(int field,int value)
    //也可以一起设置所有的时间
    void set(int year, int month, int date) //设置年、月、日的值。
    void set(int year, int month, int date, int hour, int minute) //设置年、月、日、小时、分钟的值。
    void set(int year, int month, int date, int hour, int minute, int second) //设置年、月、日、小时、分钟、秒的值。
    
    field : 设置的指定的时间(年月日时分秒)常用如下图,也可以用下标代替
    value: 设置具体的值
常量描述
Calendar.YEAR年份
Calendar.DATE天数
Calendar.MONTH月份
Calendar.HOUR12小时制的小时
Calendar.MINUTE分钟
Calendar.SECOND
Calendar.DAY_OF_WEEK星期几
Calendar.DAY_OF_MONTH天数
  • add方法:在原有的基础上进行计算
    void add(int field,int amount)//amount是负数,则表示几天前;正数为几天后;
    cal.add(Calendar.DATE, -10); //意思是当前日期对象的天数减去10,表示10天前
    
  1. 获取时间
    int get(int field)//获取指定字段的时间
    Date getTime()//返回一个Date对象,默认为当前时间
    long getTimeInMillis()//返回长整型的当前时间
    

注:

  • Calendar.MONTH:表示月份
    在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年 中的月份数。
    所以这个值的初始值为0,所以我们用它来表示日历月份时需要加1
  • Calender.day_of_week :指示一个星期中的某天。
    该字段可取的值为 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY 。
    我们知道DAY_OF_WEEK是获取当前日期是一周中的第几天,
    而一周从周日算起,因此当我们取得这个值之后,为了要正确的截取出随后的字符串week1中的那个中文字符,因此它需要减1来达到目

参考

https://www.cnblogs.com/chenjfblog/p/7699096.html
https://www.runoob.com/java/java-date-time.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值