java Dates &Times完全总结
2007-07-16 19:50
363 查看
1.获得当前时间的方法:
利用java.until.Date
System.err.print("Formant1:"); System.out.println(newDate(System.currentTimeMillis())); //System.out.print("The2formant:"); System.err.print("Formant2:"); Dated=newDate(); longt=d.getTime(); System.out.println(newDate(t)); //System.out.println(d.toLocaleString()); System.err.print("Formant3:"); Calendardate=Calendar.getInstance(); date.add(Calendar.DATE,0);//当前的前一天 System.out.println(date.getTime());
利用java.until.Calendar
//GetaCalendarforcurrentlocaleandtimezone Calendarcal=Calendar.getInstance(); //Figureoutwhatdayoftheyeartodayis cal.setTimeInMillis(System.currentTimeMillis());//Settothecurrenttime intdayOfYear=cal.get(Calendar.DAY_OF_YEAR);//Whatdayoftheyearisit? //Whatdayoftheweekdoestheleapdayintheyear2008occuron? cal.set(2008,Calendar.FEBRUARY,29);//Setyear,month,dayfields intdayOfWeek=cal.get(Calendar.DAY_OF_WEEK);//Queryadifferentfield //Whatdayofthemonthisthe3rdThursdayofMay,2005? cal.set(Calendar.YEAR,2005);//Settheyear cal.set(Calendar.MONTH,Calendar.MAY);//Setthemonth cal.set(Calendar.DAY_OF_WEEK,Calendar.THURSDAY);//Setthedayofweek cal.set(Calendar.DAY_OF_WEEK_IN_MONTH,3);//Settheweek intdayOfMonth=cal.get(Calendar.DAY_OF_MONTH);//Querythedayinmonth //GetaDateobjectthatrepresentsthreemonthsfromnow cal.setTimeInMillis(System.currentTimeMillis());//Currenttime cal.add(Calendar.MONTH,3);//Add3months Dateexpiration=cal.getTime();//RetrieveresultasaDate longmillis=cal.getTimeInMillis();//orgetitasalong
2.时间的格式:
//currenthoursandminutes
longnow=System.currentTimeMillis();
Strings=String.format("%tR",now);//"15:12"
//Currentmonth/day/year
Dated=newDate(now);
s=String.format("%tD",d);//"07/13/04"
//Hoursandminutesusing12-hourclock
Calendarc=Calendar.getInstance();
c.setTime(d);
s=String.format("%tl:%tM%tp",now,d,c);//"3:12pm"
时间格式的转换
日期/时间转换
以下日期和时间转换的后缀字符是为't'和'T'转换定义的。这些类型相似于但不完全等同于那些由GNU
date和POSIXstrftime(3c)定义的类型。提供其他转换类型是为了访问特定于Java的功能(如将
'L'用作秒中的毫秒)。
以下转换字符用来格式化时间:
'H' | 24小时制的小时,被格式化为必要时带前导零的两位数,即00-23。 |
'I' | 12小时制的小时,被格式化为必要时带前导零的两位数,即01-12。 |
'k' | 24小时制的小时,即0-23。 |
'l' | 12小时制的小时,即1-12。 |
'M' | 小时中的分钟,被格式化为必要时带前导零的两位数,即00-59。 |
'S' | 分钟中的秒,被格式化为必要时带前导零的两位数,即00-60("60"是支持闰秒所需的一个特殊值)。 |
'L' | 秒中的毫秒,被格式化为必要时带前导零的三位数,即000-999。 |
'N' | 秒中的毫微秒,被格式化为必要时带前导零的九位数,即000000000-999999999。 |
'p' | 特定于语言环境的 |
'z' | 相对于GMT的 |
'Z' | 表示时区缩写形式的字符串。Formatter的语言环境将取代参数的语言环境(如果有)。 |
's' | 自协调世界时(UTC)1970年1月1日00:00:00至现在所经过的秒数,即Long.MIN_VALUE/1000与Long.MAX_VALUE/1000之间的差值。 |
'Q' | 自协调世界时(UTC)1970年1月1日00:00:00至现在所经过的毫秒数,即Long.MIN_VALUE与Long.MAX_VALUE之间的差值。 |
'B' | 特定于语言环境的 |
'b' | 特定于语言环境的 |
'h' | 与'b'相同。 |
'A' | 特定于语言环境的 |
'a' | 特定于语言环境的 |
'C' | 除以100的四位数表示的年份,被格式化为必要时带前导零的两位数,即00-99 |
'Y' | 年份,被格式化为必要时带前导零的四位数(至少),例如,0092等于格里高利历的92CE。 |
'y' | 年份的最后两位数,被格式化为必要时带前导零的两位数,即00-99。 |
'j' | 一年中的天数,被格式化为必要时带前导零的三位数,例如,对于格里高利历是001-366。 |
'm' | 月份,被格式化为必要时带前导零的两位数,即01-13。 |
'd' | 一个月中的天数,被格式化为必要时带前导零两位数,即01-31 |
'e' | 一个月中的天数,被格式化为两位数,即1-31。 |
'R' | 24小时制的时间,被格式化为"%tH:%tM" |
'T' | 24小时制的时间,被格式化为"%tH:%tM:%tS"。 |
'r' | 12小时制的时间,被格式化为"%tI:%tM:%tS%Tp"。上午或下午标记('%Tp')的位置可能与语言环境有关。 |
'D' | 日期,被格式化为"%tm/%td/%ty"。 |
'F' | |
'c' | 日期和时间,被格式化为"%ta%tb%td%tT%tZ%tY",例如"SunJul2016:17:00EDT1969"。 |
[/code]
3.使用DateFormat
importjava.util.Date;
importjava.text.*;
//Displaytoday'sdateusingadefaultformatforthecurrentlocale
DateFormatdefaultDate=DateFormat.getDateInstance();
System.out.println(defaultDate.format(newDate()));
//Displaythecurrenttimeusingashorttimeformatforthecurrentlocale
DateFormatshortTime=DateFormat.getTimeInstance(DateFormat.SHORT);
System.out.println(shortTime.format(newDate()));
//Displaydateandtimeusingalongformatforboth
DateFormatlongTimestamp=
DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
System.out.println(longTimestamp.format(newDate()));
//UseSimpleDateFormattodefineyourownformattingtemplate
//Seejava.text.SimpleDateFormatforthetemplatesyntax
DateFormatmyformat=newSimpleDateFormat("yyyy.MM.dd");
System.out.println(myformat.format(newDate()));
try{//DateFormatcanparsedatestoo
Dateleapday=myformat.parse("2000.02.29");
}
catch(ParseExceptione){/*Handleparsingexception*/}
相关文章推荐
- Java基础之——快速失败&安全失败(最全的总结)
- day4-java&oracle总结
- Android的开发之&java23中设计模式《总结》
- Atitit。D&D drag&drop拖拽功能c#.net java swing的对比与实现总结
- Java 网络编程之 (完全总结)
- [转]Java IO完全总结(转载)
- 完全掌握java中的"包"机制(转载)
- 黑马程序员 总结---> java中的两个运算问题
- java&android格式化总结
- java基础重点&难点总结
- 黑马程序员:Java基础总结----对象包装类&自动装箱
- Java IO完全总结
- Java多线程总结(二):理解对象锁 & synchronized和Lock的区别
- JAVA IO完全总结
- Java 系列总结
- JAVA操作properties配置文件——总结(Locale&ResourceBundle& PropertyResourceBundle)
- atitit.js 与c# java交互html5化的原理与总结.doc
- 黑马程序员:Java基础总结----子接口 set<E>及其实现类
- java 嵌套类总结
- Atitit.ati dwr的原理and设计 attilax 总结 java php 版本