网站首页 > 技术文章 正文
在使用Java语言写一些小程序的时候,总少不了与时间打交道,那么在Java中我们需要输出日期时间时应该怎么编写呢?今天小编将为大家带来一篇大数据编程入门:Java日期时间的文章。
一、Java Date对象
Java.util包提供了一个Date类来封装当前日期和时间,Date类提供了两个构造函数来实例化Date对象。
1、第一个构造函数用当前日期和时间初始化对象。
Date( )
2、第二个构造函数接收一个参数,该参数是自1970年1月1日以来的毫秒数。
Date(long millisec)
3、创建日期对象后,可以调用以下方法。
方法 | 描述 |
boolean after(Date date) | 如果调用此方法的Date对象在指定日期后返回true,则返回false。 |
boolean before(Date date) | 如果调用此方法的Date对象在指定日期之前返回true,则返回false。 |
Object clone( ) | 返回此对象的副本。 |
int compareTo(Date date) | 将调用此方法时的Date对象与指定的日期进行比较,当两者相等时返回0;调用对象在指定日期之前返回一个负数;调用对象在指定日期后返回正数。 |
int compareTo(Object obj) | 如果obj是Date类型,则该操作相当于CompareTo(日期);否则,它抛出ClassCastException。 |
boolean equals(Object date) | 当调用此方法的Date对象等于指定日期时返回true,否则返回false。 |
long getTime( ) | 返回自1970年1月1日00:00:00 GMT以来此日期对象表示的毫秒数。 |
int hashCode( ) | 返回此对象的哈希码值。 |
void setTime(long time) | 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。 |
String toString( ) | 将此Date对象转换为String:dow mon dd hh:mm:ss zzz yyyy,其中:dow是一周中的一天(Sun、Mon、Tue、Wed、Thu、Fri、Sat)。 |
二、获取当前日期
在Java中获取当前日期和时间非常简单,Date对象的toString()方法用于打印当前日期和时间,如下所示:
运行结果:
三、日期比较
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格式化日期
SimpleDataFormat是一个以语言环境敏感的方式格式化和分析日期的类。SimpleDataFormat允许您选择要运行的任何用户定义的日期时间格式。例如:
运行结果:
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
这行代码建立了转换的格式,其中yyyy是完整的年份,MM是月份,dd是日期,HH:mm:SS是小时、分钟和秒。
注意:有些格式是大写的,有些是小写的,例如MM是月份,mm是分钟;HH是24小时制,hh是12小时制。
五、日期和时间的格式化编码
时间模式字符串用于指定时间格式。在此模式下,所有ASCII字母都保留为模式字母,其定义如下:
字母 | 描述 | 示例 |
G | 纪元标记 | AD |
y | 四位年份 | 2021 |
M | 月份 | July or 07 |
d | 一个月的日期 | 15 |
h | A.M./P.M. (1~12)格式小时 | 12 |
H | 一天中的小时 (0~23) | 21 |
m | 分钟数 | 59 |
s | 秒数 | 30 |
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 |
“ | 单引号 | ` |
六、使用printf格式化日期
printf方法使得格式化时间和日期变得很容易。在下表中使用以%T开头、以字母结尾的两个字母格式。
转换符 | 说明 | 示例 |
c | 包括全部日期和时间信息 | 星期六 十月 27 14:21:20 CST 2007 |
F | "年-月-日"格式 | 2021-6-28 |
D | "月/日/年"格式 | 6/28/21 |
r | "HH:MM:SS PM"格式(12时制) | 02:25:51 下午 |
T | "HH:MM:SS"格式(24时制) | 14:28:16 |
R | "HH:MM"格式(24时制) | 14:43 |
示例:
运行结果:
如果您需要重复提供日期,那么以这种方式格式化每个部分会有点复杂。因此,可以使用格式化字符串来指示要格式化的参数的索引。
索引必须紧跟在%后面并必须以$结束。例如:
运行结果:
或者,您可以使用<标志,它表示将再次使用以前格式化的参数。例如:
运行结果:
定义日期格式的转换字符使日期能够通过指定的转换字符生成新字符串。这些日期转换器如下:
运行结果:
七、解析字符串为时间
SimpleDataFormat类还有一些附加方法,特别是parse(),它试图根据给定SimpleDaFormat对象的格式存储解析字符串。例如:
运行结果:
八、Java休眠(sleep)
Sleep()使当前线程进入停滞状态(阻塞当前线程),并放弃CPU的使用,这样做的目的是不让当前线程占用进程单独获得的CPU资源,从而为其他线程留出一定的执行时间。
你可以让一个程序休眠一毫秒,也可以让它休眠到你电脑的任何一段时间。例如,以下程序将休眠3秒:
运行结果:
九、测量时间
下面的一个例子表明如何测量时间间隔(以毫秒为单位):
运行结果:
以上就是关于大数据编程入门:Java日期时间的全部内容了,希望这篇文章能够帮助到大家~
猜你喜欢
- 2024-10-22 DATE #4、Java操作日期时间-②老版本使用的日期和时间类
- 2024-10-22 JDK1.7和JDK1.8中日期时间使用和处理的不同「Java工程师必读」
- 2024-10-22 浅谈Java8日期时间处理(抗美援朝战争时间的起止日期)
- 2024-10-22 玩转MySQL的时间类型:Date、DateTime、TimeStamp、Time
- 2024-10-22 Java8日期时间类使用详解,干货满满,不容错过哦
- 2024-10-22 java 8 新特性 日期和时间 API(我的世界java版特性)
- 2024-10-22 JAVA时间工具包 - java.time(java中时间)
- 2024-10-22 Java 打印日期/时间格式(java 打印当前时间)
- 2024-10-22 Java时间类Date与Calendar的区别与使用
- 2024-10-22 用python 计算两个日期相差多少个月
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)