本篇内容介绍了“Java怎么获取当前日期时间”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Java 日期时间
java.util包提供了Date类来封装当前的日期和时间。 Date类提供两个构造函数来实例化Date对象。
第一个构造函数使用当前日期和时间来初始化对象:Date( )
第二个构造函数接收一个参数,该参数是从1970年1月1日起的微秒数:Date(long millisec)
。。。
Date对象创建以后,可以调用下面的方法。
序号方法 描述
1
boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。
2
boolean before(Date date) 若当调用此方法的Date对象在指定日期之前返回true,否则返回false。
3
Object clone( ) 返回此对象的副本。
4int 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毫秒数设置时间和日期。
10String toString( ) 转换Date对象为String表示形式,并返回该字符串。
。。。
获取当前日期时间
Java中获取当前日期和时间很简单,使用Date对象的 toString()方法来打印当前日期和时间,如下所示:
import java.util.Date;
public class DateDemo {
public static void main(String args[]) {
// 初始化 Date 对象
Date date = new Date();
// 使用 toString() 函数显示日期时间
System.out.println(date.toString());
}
}
以上实例编译运行结果如右:Mon May 04 09:51:52 CDT 2013
。。。
日期比较
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格式化日期
http://www.iis7.com/b/wzjk/
SimpleDateFormat是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat允许你选择任何用户自定义日期时间格式来运行。
。。。
简单的DateFormat格式化编码
时间模式字符串用来指定时间格式。在此模式中,所有的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
"
单引号
`
。。。
使用printf格式化日期
printf方法可以很轻松地格式化时间和日期。使用两个字母格式,它以t开头并且以下面表格中的一个字母结尾。
如果你需要重复提供日期,那么利用这种方式来格式化它的每一部分就有点复杂了。因此,可以利用一个格式化字符串指出要被格式化的参数的索引。
索引必须紧跟在%后面,而且必须以$结束。或者,你可以使用<标志。它表明先前被格式化的参数要被再次使用。
。。。
日期和时间转换字符
字符
描述
例子
c
完整的日期和时间
Mon May 04 09:51:52 CDT 2009
F
ISO 8601 格式日期
2004-02-09
D
U.S. 格式日期 (月/日/年)
02/09/2004
T
24小时时间
18:05:19
r
12小时时间
06:05:19 pm
R
24小时时间,不包含秒
18:05
Y
4位年份(包含前导0)
2004
y
年份后2位(包含前导0)
04
C
年份前2位(包含前导0)
20
B
月份全称
February
b
月份简称
Feb
n
2位月份(包含前导0)
02
d
2位日子(包含前导0)
03
e
2位日子(不包含前导0)
9
A
星期全称
Monday
a
星期简称
Mon
j
3位年份(包含前导0)
069
H
2位小时(包含前导0), 00 到 23
18
k
2位小时(不包含前导0), 0 到 23
18
I
2位小时(包含前导0), 01 到 12
06
l
2位小时(不包含前导0), 1 到 12
6
M
2位分钟(包含前导0)
05
S
2位秒数(包含前导0)
19
L
3位毫秒(包含前导0)
047
N
9位纳秒(包含前导0)
047000000
P
大写上下午标志
PM
p
小写上下午标志
pm
z
从GMT的RFC 822数字偏移
-0800
Z
时区
PST
s
自 1970-01-01 00:00:00 GMT的秒数1078884319
Q
自 1970-01-01 00:00:00 GMT的毫妙1078884319047
还有其他有用的日期和时间相关的类。对于更多的细节,你可以参考到Java标准文档。
。。。
解析字符串为时间
SimpleDateFormat 类有一些附加的方法,特别是parse(),它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串。
。。。
Java 休眠(sleep)
你可以让程序休眠一毫秒的时间或者到您的计算机的寿命长的任意段时间。
。。。
测量时间
下面的一个例子表明如何测量时间间隔(以毫秒为单位):
import java.util.*;
public class DiffDemo {
public static void main(String args[]) {
try {
long start = System.currentTimeMillis( );
System.out.println(new Date( ) + "\n");
Thread.sleep(5*60*10);
System.out.println(new Date( ) + "\n");
long end = System.currentTimeMillis( );
long diff = end - start;
System.out.println("Difference is : " + diff);
} catch (Exception e) {
System.out.println("Got an exception!");
}
}
}
以上实例编译运行结果如下:
Sun May 03 18:16:51 GMT 2009
Sun May 03 18:16:57 GMT 2009
Difference is : 5993
“Java怎么获取当前日期时间”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注天达云网站,小编将为大家输出更多高质量的实用文章!