java中各种时间格式的转化要点Word格式.docx
- 文档编号:8036554
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:13
- 大小:19.63KB
java中各种时间格式的转化要点Word格式.docx
《java中各种时间格式的转化要点Word格式.docx》由会员分享,可在线阅读,更多相关《java中各种时间格式的转化要点Word格式.docx(13页珍藏版)》请在冰点文库上搜索。
Objectclone()返回此对象的副本
longgetTime()返回自1970.1.100:
00GMT后,此对象表示的毫秒数
voidsetTime(longtime)设置此Date对象,以表示1970年1月1日
00GMT以后time毫秒的时间点。
StringtoString()将Date对象转化成以下形式的
String:
dowmonddhh:
mm:
sszzzyyyy
其中:
dow是一周中的某一天(Sun,Mon,Tue,Wed,Thu,Fri,Sat)。
dow是一周中的某一天(Sun,Mon,Tue,Wed,Thu,Fri,Sat)。
mon是月份(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,
Oct,Nov,Dec)。
dd是一月中的某一天(01至31),显示为两位十进制数。
hh是一天中的小时(00至23),显示为两位十进制数。
mm是小时中的分钟(00至59),显示为两位十进制数。
ss是分钟中的秒数(00至61),显示为两位十进制数。
60,61是因为有"
润秒"
zzz是时区(并可以反映夏令时)。
标准时区缩写包括方法parse识别的时区缩写。
如果不提供时区信息,则zzz为空,即根本不包括任何字符。
yyyy是年份,显示为4位十进制数。
使用System.currentTimeMillis()获得当前系统时间的毫秒数
java.util.Calendar:
Calendar类是一个抽象类.
CalendarrightNow=Calendar.getInstance();
可以使用三种方法更改日历字段:
set()、add()和roll()。
set(f,value)将日历字段f更改为value。
此外,它设置了一个内部成员变量,以指示日历字段f已经被更改。
尽管日历字段
f是立即更改的,但是直到下次调用get()、getTime()、getTimeInMillis()、
add()或roll()时才会重新计算日历的时间值(以毫秒为单位)。
因此,多次调
用set()不会触发多次不必要的计算。
add(f,delta)将delta添加到f字段中。
这等同于调用
set(f,get(f)+delta)
roll(f,delta)将delta添加到f字段中,但不更改更大的字段。
java.util.GregorianCalendar:
GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家
使用的标准日历系统。
java.text.DateFormat:
DateFormat是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并
分析日期或时间。
java.text.SimpleDateFormat:
SimpleDateFormat是一个以与语言环境相关的方式来格式化和分析日期的具体类。
它允许进行格式化(日期->
文本)、分析(文本->
日期)和规范化。
SimpleDateFormat使得可以选择任何用户定义的日期-时间格式的模式。
但是,
仍然建议通过DateFormat中的getTimeInstance、getDateInstance或
getDateTimeInstance来新的创建日期-时间格式化程序。
每一个这样的类方法
都能够返回一个以默认格式模式初始化的日期/时间格式化程序。
可以根据需要使用
applyPattern方法来修改格式模式。
日期和时间格式由日期和时间模式字符串指定。
在日期和时间模式字符串中,未加引号的字母'
A'
到'
Z'
和'
a'
z'
被解释为模式字母,用来表示日期或时间字符串元素。
引用
字母日期或时间元素表示示例
GEra标志符TextAD
y年Year1996;
96
M年中的月份MonthJuly;
Jul;
07
w年中的周数Number27
W月份中的周数Number2
D年中的天数Number189
d月份中的天数Number10
F月份中的星期Number2
E星期中的天数TextTuesday;
Tue
aAm/pm标记TextPM
H一天中的小时数(0-23)Number0
k一天中的小时数(1-24)Number24
Kam/pm中的小时数(0-11)Number0
ham/pm中的小时数(1-12)Number12
m小时中的分钟数Number30
s分钟中的秒数Number55
S毫秒数Number978
z时区GeneraltimezonePacificStandardTime;
PST;
GMT-08:
00
Z时区RFC822timezone-0800
日期和时间模式结果
"
yyyy.MM.ddG'
at'
HH:
ssz"
2001.07.04ADat12:
08:
56PDT
EEE,MMMd,'
'
yy"
Wed,Jul4,'
01
h:
mma"
12:
08PM
hh'
o'
clock'
a,zzzz"
12o'
clockPM,PacificDaylightTime
K:
mma,z"
0:
08PM,PDT
yyyyy.MMMMM.ddGGGhh:
mmaaa"
02001.July.04AD12:
EEE,dMMMyyyyHH:
ssZ"
Wed,4Jul200112:
56-0700
yyMMddHHmmssZ"
010704120856-0700
yyyy-MM-dd'
T'
HH:
ss.SSSZ"
2001-07-04T12:
56.235-0700
获得当前系统的毫秒数:
代码
packageorg.lokvin.example.calendar;
publicclassCalendarExample1{
publicstaticvoidmain(String[]args){
java.util.Datedate=newjava.util.Date();
//获得当前系统的毫秒数,自1970.1.100:
00GMT
longtime=System.currentTimeMillis();
java.util.Datedate1=newjava.util.Date(time);
System.out.println("
date="
+date.toString());
millisecond="
+time);
date1="
+date1.toString());
}
}
运行结果:
date=MonDec0416:
01:
16CST2006
millisecond=1165219276771
date1=MonDec0416:
16CST2006
importjava.util.Calendar;
importjava.util.GregorianCalendar;
publicclassCalendarExample2{
//获得当前日期
Calendarcalendar=Calendar.getInstance();
intera=calendar.get(Calendar.ERA);
//0=BC,1=AD
ERA="
+era);
intyear=calendar.get(Calendar.YEAR);
//2006
YEAR="
+year);
intmonth=calendar.get(Calendar.MONTH);
//获得当前月份,0..11表示JAN..DEC
Month="
+month);
//0=JAN...11=DEC
intday=calendar.get(Calendar.DAY_OF_MONTH);
DayofMonth="
+day);
//1
//获得日期在本周的天数,Sun=1,Mon=2...Sta=7
intday_of_week=calendar.get(Calendar.DAY_OF_WEEK);
DayofWeek="
+day_of_week);
//获得当前时间12时制是Calendar.HOUR
inthour12=calendar.get(Calendar.HOUR);
//获得AM,PM,0=AM,1=PM
intampm=calendar.get(Calendar.AM_PM);
hour12="
+hour12);
ampm="
+ampm);
//0=am,1=pm
//获得当前时间24时制Calendar.HOUR_OF_DAY
inthour24=calendar.get(Calendar.HOUR_OF_DAY);
hour24="
+hour24);
Calendartoday=newGregorianCalendar(2006,Calendar.DECEMBER,4);
//Calendar.getInstance()得到当前具体到毫秒的一个时间点
calendar="
+calendar.getTime().toString());
//通过newGregorianCalendar(2006,Calendar.DECEMBER,4)
//生成的calendar除了指定的年,月,日其余为0(时分秒=0)
today="
+today.getTime().toString());
ERA=1
YEAR=2006
Month=11
DayofMonth=4
DayofWeek=2
hour12=4
ampm=1
hour24=16
calendar=MonDec0416:
22:
42CST2006
today=MonDec0400:
00CST2006
两个日期之间的比较:
/*
*比较两个calendar对象之间的先后
*/
publicclassCalendarExample3{
//日期比较
Calendarxmas=newGregorianCalendar(2006,Calendar.DECEMBER,25);
CalendarnewYear=newGregorianCalendar(2007,Calendar.JANUARY,1);
//比较两个日期先后
booleanflag=xmas.before(newYear);
flag="
+flag);
flag=xmas.after(newYear);
//两个日期相差的毫秒数
longtimeDiffMillis=newYear.getTimeInMillis()-xmas.getTimeInMillis();
timediffmillis="
+timeDiffMillis);
//两个日期相差的秒数
longdiffSecs=timeDiffMillis/1000;
timediffsecs="
+diffSecs);
//两个日期相差的分钟
longdiffMins=timeDiffMillis/(1000*60);
timediffmins="
+diffMins);
//两个日期相差的小时
longdiffHours=timeDiffMillis/(1000*60*60);
timediffhours="
+diffHours);
//两个日期相差的天
longdiffDays=timeDiffMillis/(1000*60*60*24);
timediffdays="
+diffDays);
flag=true
flag=false
timediffmillis=604800000
timediffsecs=604800
timediffmins=10080
timediffhours=168
timediffdays=7
使用Calendar计算年龄:
*计算年龄
publicclassCalendarExample4{
//创建生日的Calendar对象
CalendarbirthDate=newGregorianCalendar(1979,Calendar.JULY,7);
Calendartoday=Calendar.getInstance();
intage=today.get(Calendar.YEAR)-birthDate.get(Calendar.YEAR);
//如果还没有过生日,则age-1
birthDate.add(Calendar.YEAR,age);
if(today.before(birthDate)){
age--;
age="
+age);
判断是否为闰年:
*判断是否为闰年leapyear
publicclassCalendarExample5{
//判断是否"
闰年"
leapyear
GregorianCalendarcal=newGregorianCalendar();
booleanisLeapYear=cal.isLeapYear(1998);
isleapyear1998="
+isLeapYear);
isLeapYear=cal.isLeapYear(2000);
isleapyear2000="
运行结果:
isleapyear1998=false
isleapyear2000=true
获得其他时区的时间:
importjava.util.TimeZone;
*获得其他时区当前时间
publicclassCalendarExample6{
Calendarcal=newGregorianCalendar();
inthour12=cal.get(Calendar.HOUR);
inthour24=ca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 各种 时间 格式 转化 要点