Java中时间日期相关类Date、DateFormat、Calendar、System等

一、Date(java.util.Date)

1. 概念
  • 表示特定的时刻,精度为毫秒
  • 瞬间可以用毫秒值表示,该值是1970年1月1日格林威治标准时间1970年1月1日00:00:00,000(格里高利)的Epoch的偏移量。
  • 一些计算机标准是根据格林威治标准时间(GMT)定义的,相当于通用时间(UT)。
2. 构造方法
  1. Date()
    分配 Date对象并对其进行初始化,使其表示分配当前环境下的时间,测量 Date到毫秒
  2. Date​(long date)
    分配 Date对象并初始化它以表示自标准基准时间(称为“纪元”)以来的指定毫秒数,即1970年1月1日00:00:00 GMT。
  3. Date​(int year, int month, int date)
    根据年月日建立Date对象
    year - 减去1900年的年份。
    month - 0-11之间的月份。
    date - 1-31之间的当月日期。
  4. Date​(int year,int month,int date, int hrs,int min,int sec)
    year - 减去1900年的年份。
    month - 0-11之间的月份。
    date - 1-31之间的一天中的某一天。
    hrs - 0-23之间的小时数。
    min - 0-59之间的分钟。
    sec - 0-59之间的秒数。
  5. public Date​(String s)
3.常用方法
  1. getTime()
    返回自此 Date对象表示的1970年1月1日00:00:00 GMT以来的毫秒数
  2. setTime​(long time)
    将此 Date对象设置为表示格林尼治标准时间1970年1月1日00:00:00之后的 time毫秒的时间点。
  3. toString()
    将此 Date对象转换为某形式(Sat Dec 25 15:20:00 CST 2021)的 String
  4. after​(Date when)/before(Date when)
    判断会否在此时间的后面或者前面

二、DateFormat(java.text.DateFormat)

1.概念
  • DateFormat是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化和分析日期或时间。
  • 日期/时间格式化子类(例如SimpleDateFormat )允许格式化(即,日期→文本),解析(文本“日期”)和规范化。
  • 使用java.text.SimpleDateFormat,它是DateFormat的子类
  • java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类
2.构造方法

创建 SimpleDateFormat(String pattern)对象:用pattern指定格式创建对象。

        Date date = new Date("2021/12/25 15:20");
        System.out.println(date.toString());
        DateFormat format = new SimpleDateFormat("YYYY年MM月dd日 hh:mm ss");
        String ff = format.format(date);
3.常用方法
  1. String format(Date date):方法格式化时间对象date
  2. public Date parse(String source):从给定字符串开始解析文本,来生成一个日期

三、Calendar日期类(java.util.Calendar)

1.概念
  • 解决Date不能国际化的问题
  • Calendar是一个抽象基类,主要用于完成日期字段之间相互操作的功能
2.属性

AM、AM_PM
DATE
DAY_OF_YEAR、DAY_OF_MONTH、DAY_OF_WEEK
HOUR等

3.构造方法
  1. Calendar.getInstance()
    使用默认时区和区域设置获取日历对象
  2. Calendar​(TimeZone zone, Locale aLocale)
    构造具有指定时区和区域设置的日历。
  3. 子类GregorianCalandar
    调用子类GregorianCalendar的构造器
4.常用方法
  1. getInstance​(Locale aLocale)
    使用默认时区和指定的区域设置获取日历。
  2. getInstance​(TimeZone zone, Locale aLocale)
    获取具有指定时区和区域设置的日历。
  3. set(int field, int value)
    将给定的日历字段设置为给定值。
  4. get(int field)
    YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY、MINUTE、SECOND等属性获取时间信息
  5. add(int field, int amount)
    根据日历的规则,将指定的时间量添加或减去给定的日历字段。
  6. roll​(int field, int amount)
    根据日历的规则,将指定的时间量添加或减去给定的日历字段。
  7. getTime
    获取日历时间表示的Date对象
  8. getTimeInMillis()
    以毫秒为单位返回此Calendar的时间值
  9. getTimeZone()
    获取时区
  10. getActualMaxnum
    获取最大值
5.注意

获取月份:一月是0…12月是11,以此类推
获取星期:周日是1…周六是7

四、System类(java.lang.System)

1.概念
  • System类包含几个有用的类字段和方法。 它无法实例化。
  • 提供的设施包括标准输入,标准输出和错误输出流; 访问外部定义的属性和环境变量; 加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法。
2.字段
  1. static PrintStream err “标准”错误输出流。
  2. static InputStream in “标准”输入流。
  3. static PrintStream out “标准”输出流。
3.常用方法
  1. System.currentTimeMillis()
    用来返回当前时间与1970.1.1.0:0:0之间的毫秒差值**
    UTC、GMT、CST
  2. arraycopy​(Object src, int srcPos, Object dest, int destPos, int length)
    将指定源数组中的数组从指定位置开始复制到目标数组的指定位置。
  3. exit​(int status)
    终止当前运行的java虚拟机
  4. gc()
    运行垃圾收集器
  5. getProperties()
    确定当前系统属性
  6. getProperty​(String key)
    获取指定键的系统属性

java.version:java运行环境版本
java.home:java安装目录
os.name:操作系统名
os.version:操作系统版本
user.name:用户账户名称
user.home:用户主目录
user.dir:用户当前工作目录

  1. getLogger​(String name)
    返回Logger的实例以供调用者使用。
  2. setErr​(PrintStream err) 重新分配“标准”错误输出流。
  3. setIn​(InputStream in) 重新分配“标准”输入流。
  4. setOut​(PrintStream out) 重新分配“标准”输出流。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Itfuture03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值