Java学习关于时间操作的应用类--Date类、Calendar类及其子类
Date类
Date类封装了当期时间和日期。与Java1.0定义的原始版的Date类相比,Date类发生了本质的变化。在Java1.1发布时,原始版Date类定义的许多功能被移进Calendar类和DateFormat类中。原始版Date类中的许多方法已经不赞成使用。
Date类支持的构造函数:
Date()
Date(long millisec)
第一个构造函数使用当前日期和时间初始化对象。第二个构造函数接收一个参数,该参数等于自1970年1月1日午夜以来经历的毫秒数。
Date对象创建以后,可以调用下面的方法。
序号 | 方法和描述 |
---|---|
1 |
boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。 |
2 |
boolean before(Date date) 若当调用此方法的Date对象在指定日期之前返回true,否则返回false。 |
3 |
Object clone( ) 返回此对象的副本。 |
4 |
int compareTo(Date date) 比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。 |
5 |
int compareTo(Object obj) 若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。 |
6 |
boolean equals(Object date) 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。 |
7 |
long getTime( ) 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 |
8 |
int hashCode( ) 返回此对象的哈希码值。 |
9 |
void setTime(long time) 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。 |
10 |
String toString( ) 转换Date对象为String表示形式,并返回该字符串。 |
日期比较
Java使用以下三种方法来比较两个日期:
- 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
- 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
- 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。
使用 SimpleDateFormat 格式化日期
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Calendartest {
public static void main(String[] args) {
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = new Date();
System.out.println(ft.format(d));
}
日期和时间的格式化编码
时间模式字符串用来指定时间格式。在此模式中,所有的 ASCII 字母被保留为模式字母,定义如下:
字母 | 描述 | 示例 |
---|---|---|
G | 纪元标记 | AD |
y | 四位年份 | 2001 |
M | 月份 | July or 07 |
d | 一个月的日期 | 10 |
h | A.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 |
a | A.M./P.M. 标记 | PM |
k | 一天中的小时(1~24) | 24 |
K | A.M./P.M. (0~11)格式小时 | 10 |
z | 时区 | Eastern Standard Time |
' | 文字定界符 | Delimiter |
" | 单引号 |
Calendar类
Calendar抽象类提供一套方法,允许将毫秒数形式的时间转化成大量有用的时间组成部分。例如年、月、日、小时、分和秒。Calendar类没有提供公有的构造函数,Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。
创建一个代表系统当前日期的Calendar对象
Calendar c = Calendar.getInstance();//默认是当前日期
创建一个指定日期的Calendar对象
使用Calendar类代表特定的时间,需要首先创建一个Calendar的对象,然后再设定该对象中的年月日参数来完成。
//创建一个代表2009年6月12日的Calendar对象 Calendar c1 = Calendar.getInstance(); c1.set(2009, 6 - 1, 12);
Calendar类对象字段类型
Calendar类中用一下这些常量表示不同的意义,jdk内的很多类其实都是采用的这种思想
常量 | 描述 |
---|---|
Calendar.YEAR | 年份 |
Calendar.MONTH | 月份 |
Calendar.DATE | 日期 |
Calendar.DAY_OF_MONTH | 日期,和上面的字段意义完全相同 |
Calendar.HOUR | 12小时制的小时 |
Calendar.HOUR_OF_DAY | 24小时制的小时 |
Calendar.MINUTE | 分钟 |
Calendar.SECOND | 秒 |
Calendar.DAY_OF_WEEK | 星期几 |
Calendar类对象信息的获得
转载于:https://www.cnblogs.com/sdlzspl/p/7223709.html
Java学习关于时间操作的应用类--Date类、Calendar类及其子类相关推荐
- java Date 和 Calendar类 万字详解(通俗易懂)
Date类介绍 Date类构造器 Date类使用 关于SimpleDateFormat类 Date类对象的格式化 构造Date对象的补充 Date类对象成员方法 Calendar类介绍及使用 字段演示 ...
- Date、Calendar类
时间和日期处理 在程序中,某个固定的时间代表的都是一个时间点,也就是一个时间的瞬间,例如2009年3月8日15点50分0秒,在实际的应用中,经常需要对于两个时间进行比较或计算时间之间的差值,这些功能 ...
- java学习--基础知识进阶第五天--API、 Object类 System类、日期相关类、包装类正则表达式...
今日内容介绍 u Object类 & System类 u 日期相关类 u 包装类&正则表达式 第1章 Object类 & System类 1.1 Object类 1.1. ...
- java日期和时间操作
Java日期处理 参考 https://juejin.cn/post/6844903560375697422 https://mp.weixin.qq.com/s/q__JSyLt1iy4h3NwZ6 ...
- java时间类Date、Calendar及用法
对于时间类,这篇主要说明各种现实情况下如何取值,怎么定向取值,得到自己想要的时间参数.在java中时间类主要有Date.Calendar,暂时只介绍 java.util.*下的时间类,对于java.s ...
- 【JAVA学习】2、面向对象编程的核心——对象和类
[JAVA学习]面向对象编程的核心--对象和类 前言 面向过程VS面向对象 基础概念 优缺点比较 面向对象三大基础特性 封装 继承 多态 面向对象编程的五大基本原则 单一职责原则SRP(Single ...
- java 假设当前时间_Java中与日期和时间相关的类和方法
一.currentTimeMillis()方法 System 类中的方法 currentTimeMillis() 方法可以返回从 GMT1970 年 1 月 1 日 00 : 00 : 00 开始到当 ...
- java计算今天是今年的第几周_java calendar类根据当前日期时间,计算当前日期在当前月是第几周,与周跨月问题,...
第一步 先根据当前日期时间 计算出本周的开始时间与结束日期 第二步 判断当前日期大于等于本周开始日期,并且当前日期小于等于本周结束日期, 就把本周开始日期当做条件计算出当前日期是第几周 // 周跨月也 ...
- Java常用类(2)--日期时间相关类Date、Calendar、LocalDateTime、Instant全面
文章目录 java.lang.System类 java.util.Date类 java.sql.Date类 java.text.SimpleDateFormat类 java.util.Calendar ...
- Java常用接口与类——Date、Calendar、DateFormat、TimeZone(日期相关)
>Date类和DateFormat类 Date d=new Date(); //System.out.println(d.toLocaleString()); SimpleDateFormat ...
最新文章
- 【概念原理】四种SQL事务隔离级别和事务ACID特性
- 伏安特性曲线实验报告_电化学扩散层,Cottrell equation,取样电流伏安法
- Linux技巧:一次删除一百万个文件最快方法
- 2018蓝桥杯省赛---java---C---9(小朋友崇拜圈)
- think-in-java(9)接口
- 百度seo排名点击器_SEO整站优化思路 - 百度seo排名点击
- PHP 超级全局变量
- Linux编译dhcpd,linux中搭建dhcpd服务器
- 受困版权,有情怀的网易云音乐还能走多远?
- 网页数据分页显示php,PHP网页设计例子:用PHP3完成MySQL数据的分页显示
- python从指定文件夹导入模块_python – 从特定文件夹导入模块
- 菲波那契数列编程实现
- 软考高项--第一章项目整体管理
- wpa_supplicant使用
- 西门子触摸屏函数翻译_触摸屏的中英文切换怎么做?
- 方波正弦波三角波信号发生电路
- AWSomeDay 中体会的Micro Service 微服务
- 学习了pr后的收获_学习后的感想和收获
- java group布局_Java 的swing.GroupLayout布局管理器的使用方法和实例
- 【三年前端开发的思考】如何有效地阅读需求?
热门文章
- Python 之操作so动态库
- html单页倒计时,单页面vue实例带倒计时功能
- python版本时间_python 获取文件版本号和修改时间
- php钩子配置,thinkphp 行为扩展 钩子与插件的实现
- 计算机网络和lnternet的课件,Computer Networks and Internets《计算机网络与因特网》课件.ppt...
- 4.2线程局部变量(Thread-Local Variables)
- 数据库与表的操作之创建、修改和删除数据
- 【5分钟 Paper】(TD3) Addressing Function Approximation Error in Actor-Critic Methods
- 粒子群对函数的优化 matlab,编译通过
- 1.1 c和c++关系