Java日期类 util.Date sql.Date Calendar LocalDateTime 格式化 DateFormat DateTimeFormatter
java 日期类
java.util.Date
Date
有两个附加功能。 它允许将日期解释为年,月,日,小时,分钟和第二个值。 它还允许格式化和解析日期字符串。 但这些功能的API不适合国际化。 从JDK 1.1开始, Calendar
类应该用于在日期和时间字段之间进行转换,并且DateFormat
类应用于格式化和解析日期字符串。 在相应的方法Date
被弃用。
一些计算机标准是根据格林尼治标准时间(GMT)定义的,相当于世界时间(UT)。
- 在类的所有方法
Date
接受或返回年,月,日,小时,分钟和秒值,以下表述中使用:
y年代表整数y
- 1900
。一个月由0到11的整数表示; 0是1月,1是2月,等等; 11月12日。
日期(月的一天)以通常的方式从1到31的整数表示。
一小时由0到23之间的整数表示。因此,从午夜到凌晨1点的时间是小时0,从中午到下午1点的小时是12小时。
一般以0〜59的整数表示。
第二个由0到61的整数表示; 值60和61仅发生在闰秒上,甚至仅在实际上正确跟踪闰秒的Java实现中发生。 由于目前引入闰秒的方式,在同一分钟内不会发生两个闰秒,但是本规范遵循ISO C的日期和时间约定。
构造方法
构造方法 | 描述 |
---|---|
Date()
|
分配一个 Date 对象,并初始化它,以便它代表它被分配的时间,测量到最近的毫秒。
|
Date(long date)
|
分配一个 Date 对象,并将其初始化为表示自称为“时代”的标准基准时间以后的指定毫秒数,即1970年1月1日00:00:00 GMT。 使用System.currentTimeMillis() 获得
|
常用方法
Modifier and Type | 方法 | 描述 |
---|---|---|
boolean
|
after(Date when)
|
测试此日期是否在指定日期之后。 |
boolean
|
before(Date when)
|
测试此日期是否在指定日期之前。 |
Object
|
clone()
|
返回此对象的副本。 |
int
|
compareTo(Date anotherDate)
|
比较两个日期的顺序。 |
boolean
|
equals(Object obj)
|
比较两个日期的相等性。 |
long
|
getTime()
|
返回自1970年1月1日以来,由此 Date 对象表示的00:00:00 GMT的毫秒 数 。
|
String
|
toString()
|
将此 Date对象转换为 String的形式: |
int
|
getYear()
|
日期表示的年份减去 1900。已弃用。由Calendar.get(Calendar.YEAR) - 1900 。
|
int
|
getMonth()
|
此日期所表示的月份,返回的值在 0 和 11 之间,值 0 表示 1 月。 已弃用。由Calendar.get(Calendar.MONTH) 取代。
|
String
|
toLocaleString()
|
此日期的字符串表示形式,使用区域设置约定。已弃用,由DateFormat.format(Date date) 替换。
|
int
|
getDate()
|
返回此 Date 对象表示的月份中的某一天。返回的值在 1 和 31 之间,表示包含或开始于此 Date 对象表示的时间的月份中的某一天。 已弃用。由Calendar.get(Calendar.DAY_OF_MONTH) 取代 。
|
int
|
getDay()
|
返回此日期表示的周中的某一天,返回值 (0 = Sunday, 1 = Monday, ···) 。已弃用。由Calendar.get(Calendar.DAY_OF_WEEK) 取代 。
|
int
|
getHours()
|
此日期所表示的小时。已弃用。由Calendar.get(Calendar.HOUR_OF_DAY) 取代 。
|
int
|
getMinutes()
|
返回此日期所表示的小时已经过去的分钟数。返回值在 0 和 59 之间。 已弃用。由Calendar.get(Calendar.MINUTE) 取代。
|
int
|
getMonth()
|
此日期所表示的月份。返回的值在 0 和 11 之间,值 0 表示 1 月。 已弃用。由Calendar.get(Calendar.MONTH) 取代。
|
int
|
getSeconds()
|
返回此日期所表示的分钟已经过去的秒数,返回的值在 0 和 61 之间。已弃用。由Calendar.get(Calendar.SECOND) 取代
|
实例
public class Test {public static void main(String[] args) {//java.util.Date:Date d = new Date();System.out.println(d); //Sun Aug 08 21:21:32 CST 2021System.out.println(d.toString()); //Sun Aug 08 21:21:32 CST 2021System.out.println(d.toGMTString()); //8 Aug 2021 13:21:32 GMTSystem.out.println(d.toLocaleString()); //2021-8-8 21:21:32System.out.println(d.getYear());//121。121+1900=2021System.out.println(d.getMonth());//7 :返回的值在 0 和 11 之间,值 0 表示 1 月。//返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。System.out.println(d.getTime());//1628428892448System.out.println(System.currentTimeMillis());//1628428892448}
}
获取时间差一般用System.currentTimeMillis()
,这个方法是静态的,可以类名.方法名
直接调用,无方法体,其具体实现并不是java实现,一般会去衡量一些算法所用的时间
java.sql.Date
一个大约一毫秒值的薄包装,允许JDBC将其标识为SQL DATE
值。 毫秒值表示1970年1月1日00:00:00.000 GMT之后的毫秒数。
为了符合SQL DATE
,由java.sql.Date
实例包装的毫秒值必须通过在实例关联的特定时区中将小时,分钟,秒和毫秒设置为零来“归一化”。
java.sql.Date和java.util.Date的
- 区别:
- java.util.Date:年月日 时分秒
- java.sql.Date:年月日
- 联系:
`java.sql.Date(子类) extends java.util.Date (父类)
构造方法
Date(long date)
使用给定毫秒时间值构造一个Date
对象。- @param date自1970年1月1日00:00:00 GMT以来的毫秒数。
- @see java.lang.System.currentTimeMillis()
转换
相互转化
- util --> sql:
方式1:向下转型
java.util.Date date = new Date(1628431958441L);//创建util.Date的对象
Date date1 = (Date) date;
java.sql.Date date1 = (java.sql.Date) date;
方式2:利用构造器
Date date2 = new Date(date.getTime());Date date2 = new Date(System.currentTimeMillis());
Java日期类 util.Date sql.Date Calendar LocalDateTime 格式化 DateFormat DateTimeFormatter相关推荐
- Java日期时间(LocalDate、LocalTime、LocalDateTime)
文章目录 Java日期时间(LocalDate.LocalTime.LocalDateTime) 前言 1.LocalDate 1.1.LocalDate常用API 1.2.LocalDate 与 S ...
- 新手小白学JAVA 日期类Date SimpleDateFormat Calendar
1. Date日期类 类 Date 表示一个特定的瞬间,精确到毫秒 1.1 Date的构造函数 Date() 分配一个 Date 对象,以表示分配它的时间(精确到毫秒) Date(long date) ...
- java 日期calendar_java成神之——date和calendar日期的用法
Date和Calendar日期的用法 Date类 System.currentTimeMillis() // 当前时间毫秒数 Date time = new Date(); time.getTime( ...
- java常用类解析十:Date类和Calendar类示例
1.Date类实例:格式化输出当前日期 [java] view plaincopy <span style="font-size:16px;">package demo ...
- mysql java.util.date_jdbc-java.sql.date和java.util.date之间转换
?处理数据库数据时我们经常要封装到javaBean对象中,或者把用户传递的传输赋给数据库例:resultSet.setDate(int,Date); 这样就存在一个问题,javaBean中的对象穿梭于 ...
- java日期类的计算问题_java日期计算(Calendar类)
昨天学了java日期的格式器,主要是用SimpleDateFormat进行格式化.解析.但这还仅停留在日期的查看(调整显示格式)阶段,更重要的是日期的操作.今天继续学习,记录如下: 今天主要学习的日期 ...
- java 日期 date_Java中如何设置Date对象的年月日
展开全部 包.在这个包中,Java提供了一些实用的方法和数据结构.例如,Java提供日期(Data)类.e5a48de588b6323131333532363134313032313635333133 ...
- java 日期类 周_Java中用Calendar类计算周和周的起始日期
package com.tongyue.hot.web; import java.util.Calendar; import java.util.Date; import java.util.Greg ...
- java 日期类代码_java 日期时间处理类
import java.util.Calendar; import java.sql.Date; import java.text.SimpleDateFormat; import java.text ...
最新文章
- Android逆向分析工具ded的使用
- 计算机基础课程教学创新,【计算机基础论文】大学计算机基础课程教学创新探讨(共5359字)...
- C++ 实现高精度的计算
- JS的replace
- win oracle 重启命令,Windows下命令行如何启动Oracle10g?
- Jar包部署-修改插件版本
- webflux系列--reactor源码(一)
- mysql slave 线程 简书_【MySQL】你真的读懂了slave status吗?
- Logtail从入门到精通(三):机器分组配置
- 虚拟机登录/系统管理等命令
- a标签提交form表单_Web前端开发基础知识,HTML中表单元素的理解
- 解决Bootstrap模态窗口Modal中使用Kindeditor或UEditor编辑器 点击关闭弹窗 出现第二次无法加载的问题
- discord android .apk,Discord语音交流app
- 隐身术——使用Tor匿名网络与proxychains构建SOCKS代理链IP跳板,在***测试与******时销声匿迹...
- EMW3080+STC15轻松实现设备上云2(阿里云物联网平台、智能生活开放平台)
- 连接到物联网的12中通信技术
- win10最简单的C盘清理,亲测有效
- 常见的五种神经网络(4)-深度信念网络(下)篇之深度信念网络的原理解读、参数学习
- 浅谈二层交换安全攻击与防御
- Win11设置notepad++为默认文件打开方式
热门文章