java处理日期时间 相加减

java处理日期时间 相加减
java处理日期时间 相加减

JAVA处理日期时间常用方法:

1.java.util.Calendar

Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970年

1月1日的00:00:00.000,格里高利历)的偏移量。

[java]view plaincopy

1.Calendar cal=Calendar.getInstance();//使用默认时区和语言环境获得一个日历。

2.cal.add(Calendar.DAY_OF_MONTH,-1);//取当前日期的前一天.

3.

4.cal.add(Calendar.DAY_OF_MONTH,+1);//取当前日期的后一天.

5.

6.//通过格式化输出日期

7.java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-MM-

dd");

8.

9.System.out.println("Today is:"+format.format(Calendar.getInstance().getTime()

));

10.

11.System.out.println("yesterday is:"+format.format(cal.getTime()));

得到2007-12-25日期:

[java]view plaincopy

1.Calendar calendar=new GregorianCalendar(2007,11,25,0,0,0);

2.Date date=calendar.getTime();

3.System.out.println("2007Christmas is:"+format.format(date));

java月份是从0-11,月份设置时要减1.

GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

取日期的部分:

[java]view plaincopy

1.int year=calendar.get(Calendar.YEAR);

2.

3.int month=calendar.get(Calendar.MONTH)+1;

4.

5.int day=calendar.get(Calendar.DAY_OF_MONTH);

6.

7.int hour=calendar.get(Calendar.HOUR_OF_DAY);

8.

9.int minute=calendar.get(Calendar.MINUTE);

10.

11.int seconds=calendar.get(Calendar.SECOND);

取月份要加1.

判断当前月份的最大天数:

[java]view plaincopy

1.Calendar cal=Calendar.getInstance();

2.int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

3.System.out.println(day);

2.java.util.Date

[java]view plaincopy

1.java.util.Date today=new java.util.Date();

2.System.out.println("Today is"+formats.format(today));取当月的第一天:

[java]view plaincopy

1.java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-MM-

01");

2.java.util.Date firstDay=new java.util.Date();

3.System.out.println("the month first day is"+formats.format(firstDay));

取当月的最后一天:

[java]view plaincopy

1.

2.Calendar cal=Calendar.getInstance();

3.int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH);

4.java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay)

;

5.System.out.println(formatter3.format(cal.getTime()));

求两个日期之间相隔的天数:

[java]view plaincopy

1.java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-MM-

dd");

2.java.util.Date beginDate=format.parse("2007-12-24");

3.java.util.Date endDate=format.parse("2007-12-25");

4.long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);

5.System.out.println("相隔的天数="+day);

一年前的日期:

[java]view plaincopy

1.java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");

2.java.util.Date todayDate=new java.util.Date();

3.long beforeTime=(todayDate.getTime()/1000)-60*60*24*365;

4.todayDate.setTime(beforeTime*1000);

5.String beforeDate=formatter.format(todayDate);

6.System.out.println(beforeDate);

一年后的日期:

[java]view plaincopy

1.java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");

2.java.util.Date todayDate=new java.util.Date();

3.long afterTime=(todayDate.getTime()/1000)+60*60*24*365;

4.todayDate.setTime(afterTime*1000);

5.String afterDate=formatter.format(todayDate);

6.System.out.println(afterDate);

求10小时后的时间

[java]view plaincopy

1.java.util.Calendar Cal=java.util.Calendar.getInstance();

2.Cal.setTime(dateOper);

3.Cal.add(java.util.Calendar.HOUR_OF_DAY,10);

4.System.out.println("date:"+forma.format(Cal.getTime()));

求10小时前的时间

[java]view plaincopy

1.java.util.Calendar Cal=java.util.Calendar.getInstance();

2.Cal.setTime(dateOper);

3.Cal.add(java.util.Calendar.HOUR_OF_DAY,-10);

4.System.out.println("date:"+forma.format(Cal.getTime()));

3.java.sql.Date

继承自java.util.Date,是操作数据库用的日期类型

[java]view plaincopy

1.java.sql.Date sqlDate=new java.sql.Date(java.sql.Date.valueOf("2007-12-25")

.getTime());

日期比较:简单的比较可以以字符串的形式直接比较,也可使用

java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18"))方式来比较日期的大小.也可使用java.util.Date.after(java.util.Date)来比较.

相差时间:

long difference=c2.getTimeInMillis()-c1.getTimeInMillis();

相差天数:long day=difference/(3600*24*1000)

相差小时:long hour=difference/(3600*1000)

相差分钟:long minute=difference/(60*1000)

相差秒:long second=difference/1000

[java]view plaincopy

1.DateFormat df=new SimpleDateFormat("yyyy-MM-dd EE hh:mm:ss");

2.System.out.println(df.format(new Date()));

3.Date date=new Date();

4.DateFormat shortDate=DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFo

rmat.SHORT);

5.DateFormat mediumDate=DateFormat.getDateTimeInstance(DateFormat.MEDIUM,Dat

eFormat.MEDIUM);

6.DateFormat longDate=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFor

mat.LONG);

7.DateFormat fullDate=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFor

mat.FULL);

8.

9.system.out.println(shortDate.format(date));

10.System.out.println(mediumDate.format(date));

11.System.out.println(longDate.format(date));

12.System.out.println(fullDate.format(date));

13.

14.08-4-15下午3:24

15.2008-4-1515:24:31

16.2008年4月15日下午03时24分31秒

17.2008年4月15日星期二下午03时24分31秒CST

18.

19.

20.Calendar c=Calendar.getInstance();

21.

22.c.add(Calendar.MONTH,1);//目前時間加1個月

23.System.out.println(df.format(c.getTime()));

24.

25.c.add(Calendar.HOUR,3);//目前時間加3小時

26.System.out.println(df.format(c.getTime()));

27.

28.c.add(Calendar.YEAR,-2);//目前時間減2年

29.System.out.println(df.format(c.getTime()));

30.

31.c.add(Calendar.DAY_OF_WEEK,7);//目前的時間加7天

32.System.out.println(df.format(c.getTime()));

java处理日期时间 相加减

JAVA处理日期时间常用方法: 1.java.util.Calendar Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970年 1月1日的00:00:00.000,格里高利历)的偏移量。 [java]view plaincopy 1.Calendar cal=Calendar.getInstance();//使用默认时区和语言环境获得一个日历。 2.cal.add(Calendar.DAY_OF_MONTH,-1);//取当前日期的前一天. 3. 4.cal.add(Calendar.DAY_OF_MONTH,+1);//取当前日期的后一天. 5. 6.//通过格式化输出日期 7.java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-MM- dd"); 8. 9.System.out.println("Today is:"+format.format(Calendar.getInstance().getTime() )); 10. 11.System.out.println("yesterday is:"+format.format(cal.getTime())); 得到2007-12-25日期: [java]view plaincopy 1.Calendar calendar=new GregorianCalendar(2007,11,25,0,0,0); 2.Date date=calendar.getTime(); 3.System.out.println("2007Christmas is:"+format.format(date)); java月份是从0-11,月份设置时要减1. GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

java中的日期处理类总结

java中的日期处理类总结:Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat 类 今天花了好大一点时间把java的日期类做了一下整理,哈 1、Date类(该类现在很少用了) l Date类对象的创建: n 创建一个当前时间 //默认是创建一个代表系统当前日期的Date对象 Date d = new Date(); n 创建一个我们指定的时间的Date对象: 下面是使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。 //创建一个代表2009年6月12号的Date对象 Date d1 = new Date(2009-1900, 6-1, 12); (注意参数的设置啊!) l 正确获得一个date对象所包含的信息 如: Date d2 = new Date(2009-1900, 6-1, 12); //获得年份(注意年份要加上1900,这样才是日期对象d2所代表的年份) int year = d2.getYear() + 1900; //获得月份(注意月份要加1,这样才是日期对象d2所代表的月份) int month = d2.getMonth() + 1; //获得日期 int date = d2.getDate();

//获得小时 int hour = d2.getHours(); //获得分钟 int minute = d2.getMinutes(); //获得秒 int second = d2.getSeconds(); //获得星期(注意:0代表星期日、1代表星期1、2代表星期2,其他的一次类推了) int day = d2.getDay(); 运行结果: 年份:2009 月份:6 日期:12 小时:0 //不设置默认是0 分钟:0 //不设置默认是0 秒:0 //不设置默认是0 星期:5 //09-6-12今天就是星期5,又是一个星期天哦 2、Calendar类 Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些 l Calendar类对象的创建

java试用期工作总结

java试用期工作总结 时光流转间,我已到公司工作三个多月。非常感谢公司领导对我的信任,给予我体现自我、提高自我的机会。这三个多月的试用期工作经历,使我的工作能力得到了由校园步入社会后最大幅度的提高。亲爱的读者,小编为您准备了一些java试用期工作总结,请笑纳! java试用期工作总结1 短短的一个月很快就过去了,在这短短的一个月里,我学到了很多,了解了很多。在这一个月里我学到了有关JAVA等方面的知识,了解了关于软件开发的流程。了解了自己的不足,知道了自己努力的方向。 回顾这次的实训,这次或许是最后的实训机会。我是一名大二的学生,明年或许就要出去实习了,所以我很珍惜这次的实训机会,因为它能够让我了解自己的不足以及以后自己努力的方向,同时也能让我了解软件开发的流程,增加一点软件开发经验和社会经验。让我在以后的实习中会更好的融入到其中,增加自己的就业机会,因为纵观现在的就业形势很不让人乐观,由于之前的经济危机,就业机会越来越少,就业也越来越难,这就给了

我们很大的压力,所以要是没有真本事,就业岗位就无从谈起,因此,在以后的学习中,我会更加好好努力。 java试用期工作总结2 来公司已近半年时间,在这半年时间里,我从一个刚毕业什么都不懂的迷茫青年蜕变成了一个合格的程序员,在此,对我这半年的工作做出一个总结: 1、思想政治表现、品德素质修养及职业道德。 严格按照一个职业人应有的素养要约束自已,爱岗敬业,具有强烈的责任感和事业心,积极主动认真的学习专业知识,工作态度端正,认真负责。 2、专业知识、工作能力和具体工作。 在这半年里,我本着把工作做的更好这样一个目标,开拓创新意识,积极圆满的完成了以下本职工作: 中天chat项目测试、source the globe项目测试、勤务模块的界面原型修改、网络教学平台项目的界面原型编写,项目开发,项目测试、领导安排的其它工作。 3、工作态度和勤奋敬业方面 热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,没

java的时间处理续计算java时间)

1. java计算时间依靠1970年1月1日开始的毫秒数. 2. date类的构造函数date()返回代表当前创建的时刻的对象。date的方法gettime()返回一个long值在数值上等于1970年1月1日之前或之后的时刻。 3. dateformat类用来转换date到string,反之亦然。静态方法getdateinstance()返回dateformat的缺省格式;getdateinstance(dateformat.field)返回指定的dateformat对象格式。format(date d)方法返回string表示日期,例如"january 1,2002."反过来,parse(string s)方法返回以参数字符串表示的date对象。 4. format()方法返回的字符串格式根据不同地区的时间设置而有所不同。 5. gregoriancalendear类有两个重要的构造函数:gregoriancalerdar(),返回代表当前创建时间的对象;gregoriancalendar(int year,int month,int date)返回代表任意日期的对象。gregoriancalendar类的gettime()方法返回日期对象。add(int field,int amount)方法通过加或减时间单位,象天数,月数或年数来计算日期。 gregoriancalendar和时间 两个gregoriancalendar的构造函数可以用来处理时间。前者创建一个表示日期,小时和分钟的对象: gregoriancalendar(int year, int month, int date, int hour, int minute) 第二个创建一个表示一个日期,小时,分钟和秒: gregoriancalendar(int year, int month, int date, int hour, int minute, int second) 首先,我应该提醒一下,每一个构造函数需要时间信息中的日期信息(年,月,日)。如果你想说2:30 p.m.,你必须指出日期。 同样,每一个gregoriancalendar构造函数创建一个在时间上使用毫秒计算的对象。所以,如果你的构造函数只提供年,月,日参数,那小时,分钟,秒和毫秒的值将被置0. dateformat和时间 你可以使用静态方法getdatetimeinstance(int datestyle,int timestyle)来建立dateformat对象来显示时间和日期。这个方法表明你想要的日期和时间格式。如果你喜欢使用缺省格式,可以使用getdatetimeinstance()来代替它。 你可以使用静态方法gettimeinstance(int timestyle)创建dateformat对象来显示正确的时间。下面的程序示范了getdatetimeinstance()和gettimeinstance()怎样工作: import java.util.*; import java.text.*; public class apollo { public static void main(string[] args) { gregoriancalendar liftoffapollo11 = new gregoriancalendar(1969, calendar.july, 16, 9, 32); date d = liftoffapollo11.gettime(); dateformat df1 = dateformat.getdatetimeinstance(dateformat.medium, dateformat.medium); dateformat df2 = dateformat.gettimeinstance(dateformat.short); string s1 = df1.format(d); string s2 = df2.format(d);

java中时间格式的转换

1.将日期类型转换为格式的字符串类型 java.util.Date中的日期 Date Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time=sdf.format(date); 2.将字符串类型的转换为指定格式的日期类型(java.util.Date) String time = "2009-7-29 14:28:12"; DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = df.parse(time); 这里需要抛出ParseException异常 若将java.util.Date类型转换成java.sql.Date时,只需添加一行代码 java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 3.使用java.sql.Timestamp在java程序中rs.getDate()时获取日期的时、分、秒 String str = ""; String format="yyyy-MM-dd HH:mm:ss"; try { //这里与数据库的连接已经省略,获得PreparedStatement的对象psmt ResultSet rs = psmt.executeQuery(); while(rs.next()){ Timestamp ts = rs.getTimestamp("pdate"); SimpleDateFormat sdf = new SimpleDateFormat(format); str = sdf.format(ts); System.out.println(str); } } catch (SQLException e) { e.printStackTrace(); } ...... SimpleDateFormat的用法: //SimpleDateFormat中的parse方法可以 把String型的字符串转换成特定格式的date类型 import java.text.*; import java.util.*; public class TestDate { public static void main(String[] args) { String dStr = "2001.12.12-08.23.21"; Date d = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd-HH.mm.ss"); try { d = sdf.parse(dStr);

java获取当前时间

有两种方法: 方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码: import java.util.*; import java.text.*; //以下默认时间日期显示方式都是汉语语言方式 //一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:2008-6-16 20:54:53 //以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestDate2.java public class TestDate { public static void main(String[] args) { Date now = new Date(); Calendar cal = Calendar.getInstance(); DateFormat d1 = DateFormat.getDateInstance(); //默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-16 20:54:53) String str1 = d1.format(now); DateFormat d2 = DateFormat.getDateTimeInstance(); String str2 = d2.format(now); DateFormat d3 = DateFormat.getTimeInstance(); String str3 = d3.format(now); DateFormat d4 = DateFormat.getInstance(); //使用SHORT风格显示日期和时间 String str4 = d4.format(now); DateFormat d5 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //显示日期,周,时间(精确到秒) String str5 = d5.format(now); DateFormat d6 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //显示日期。时间(精确到秒) String str6 = d6.format(now); DateFormat d7 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //显示日期,时间(精确到分) String str7 = d7.format(now);

日期格式大全

Java中日期格式转换 /** * 字符串转换为java.util.Date
* 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'
* yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'
* yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'
* yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00'
* yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am'
* @param time String 字符串
* @return Date 日期
*/ public static Date stringToDate(String time){ SimpleDateFormat formatter; int tempPos=time.indexOf("AD") ; time=time.trim() ; formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); } tempPos=time.indexOf("-"); if(tempPos>-1&&(time.indexOf(" ")<0)){ formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ"); } else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); } else if((time.indexOf("-")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); } else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } else if((time.indexOf("-")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } ParsePosition pos = new ParsePosition(0); java.util.Date ctime = formatter.parse(time, pos); return ctime;

JAVA程序员试用期转正工作总结

程序员试用期转正工作小结 尊敬的领导: 我于xxxx年9月11日成为本公司技术部的一名.net程序员,三个月的试用期转眼就过去了。这段我人生中弥足珍贵的经历,给我留下了精彩而美好的回忆。在这段时间里您们给予了我足够的关怀、支持和帮助,让我充分感受到了领导们“海纳百川”的胸襟,在对您们肃然起敬的同时,也为我有机会成为影响力在线的一员而惊喜万分。 这段时间,在领导和同事们的关怀和指导下,我通过不懈努力,各方面均取得一定的进步,现将我的工作情况做如下汇报: 一、通过理论学习和日常工作积累经验我的各方面有了很大的进步。刚到公司不久,我便开始负责.net方面的网站开发和广告平台开发和维护,刚开始的时候对我来说确实压力很大,因为各方面都还不熟悉,而且与之前的公司相比,节奏也有点快,不过我慢慢的习惯了环境,和同事相处的比较融洽,领导对我也比较关心,在公司里工作就像是在一个幸福的大家庭里一样,我很快喜欢上了这里。 我到公司不久,第一个项目是xxx公司网站,做这个项目的时候我遇到了几个问题,我在以前公司做的时候没有在这么短的时候完成一个项目的,在效率上提高了我的能力。做这个项目的时候我也遇到了许多以前没有遇到过的问题,我请教同事和朋友,还有借助网络一一解决了难题。 之后,我将b2b广告招商平台进行了改版,开发了xxx智能建站广告平台以及以后网站的维护工作。 接下来,我又做了一个比较棘手的项目——xxx在线咨询系统。为什么说棘手呢,因为我以前没有做过这方面的项目,而且我问遍了所有认识的朋友,搜遍了网络也没有找到如何解决的方法,之后我翻书籍,接着搜索网络。功夫不负有心人,终于我找到一个聊天室的小例子,但是功能差的太远,于是我把 这个示例一点点的研究,从一点也不懂到后来慢慢看懂,从对ajax技术一无所知到基本熟练运用。接下来我就开始自己开发,到最后终于把它开发了出来,虽然不是很完美,功能不是很强大,但是它是我辛苦的劳动结晶,我相信以后会把它开发的更强大,更完美。 二、明确岗位职能,认识个人技术能力不足。 经过三个多月的工作,虽然完成了一些项目的开发,我的技能也提高了很多,但是感觉我的技术还有待提高,所以我会在以后的工作中更加努力,努力提高自己的技术和各种不足,努力使自己成为一名称职的职员。 三、提出自己努力计划 1、学无止镜,时代的发展瞬息万变,各种学科知识日新月异。我将坚持不懈地努力学习各种技术知识,并用于指导实践。 2、“业精于勤而荒于嬉”,在以后的工作中不断学习知识,通过多看、多学、多练来不断的提高自己的各项技能。 3、不断锻炼自己的胆识和毅力,提高自己解决实际问题的能力,并在工作过程中慢慢克服急躁情绪,积极、热情、细致地的对待每一项工作。 4、努力提高自己的日常交际能力。 时光流转间,我已到公司工作三个多月。非常感谢公司领导对我的信任,给予我体现自我、提高自我的机会。这三个多月的试用期工作经历,使我的工作能力得到了由校园步入社会后最大幅度的提高。 在此,在对试用期的工作情况及心得体会做一汇报后,我想借此机会,正式向公司领导提出转正请求。希望公司领导能对我的工作态度、工作能力和表现,以正式员工的要求做一个全面考虑,能否转正,期盼回复。我会以炙热的工作热情继续投入到今后的工作当中,以

Java日期格式大全

日期和时间模式 日期和时间格式由日期和时间模式字符串指定。在日期和时间模式字符串中,未加引号的字母'A'到'Z'和'a'到'z'被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号(')引起来,以免进行解释。"''"表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。 定义了以下模式字母(所有其他字符'A'到'Z'和'a'到'z'都被保留): 字 母 日期或时间元素表示示例 G Era标志符Text AD M年中的月份Month July;Jul;07 W月份中的周数Number2 d月份中的天数Number10 E星期中的天数Text Tuesday;Tue H一天中的小时数(0-23)Number0 K am/pm中的小时数 (0-11) Number0 m小时中的分钟数Number30 S毫秒数Number978 Z时区RFC822time zone -0800

示例 以下示例显示了如何在美国语言环境中解释日期和时间模式。给定的日期和时间为美国太平洋时区的本地时间2001-07-0412:08:56。 日期和时间模式结果 "yyyy.MM.dd G'at'HH:mm:ss z"2001.07.04AD at12:08:56PDT "EEE,MMM d,''yy"Wed,Jul4,'01 "h:mm a"12:08PM "hh'o''clock'a,zzzz"12o'clock PM,Pacific Daylight Time "K:mm a,z"0:08PM,PDT "yyyyy.MMMMM.dd GGG hh:mm aaa"02001.July.04AD12:08PM "EEE,d MMM yyyy HH:mm:ss Z"Wed,4Jul200112:08:56-0700 "yyMMddHHmmssZ"010*********-0700 "yyyy-MM-dd'T'HH:mm:ss.SSSZ"2001-07-04T12:08:56.235-0700 同步 日期格式是不同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须是外部同步的。

JAVA计算日期,时间差的几种方法

1. 手工计算 2.采用一个三方的jar包(Joda time library) 3. 利用TimeUnit类(java.util.concurrent 包中) 方法一:手工计算 程序代码 import java.text.SimpleDateFormat; import java.util.Date; public class DateDifferentExample { public static void main(String[] args) { String dateStart = "01/14/2012 09:29:58"; String dateStop = "01/15/2012 10:31:48"; //HH converts hour in 24 hours format (0-23), day calculation SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); Date d1 = null; Date d2 = null; try { d1 = format.parse(dateStart); d2 = format.parse(dateStop); //in milliseconds long diff = d2.getTime() - d1.getTime(); long diffSeconds = diff / 1000 % 60; long diffMinutes = diff / (60 * 1000) % 60; long diffHours = diff / (60 * 60 * 1000) % 24; long diffDays = diff / (24 * 60 * 60 * 1000); System.out.print(diffDays + " days, "); System.out.print(diffHours + " hours, "); System.out.print(diffMinutes + " minutes, "); System.out.print(diffSeconds + " seconds."); } catch (Exception e) { e.printStackTrace(); } }

JAVA编写日历实训心得

班级:**** 姓名:*** 学号:****10010127 java实验报告 实验7 日历 一、实验目的 1. 掌握swt 的容器概念及使用方法。 2. 掌握swt 中的工具栏与菜单的使用方法。 3. 掌握swt 中的表格组件的使用。 4. 掌握swt 各种对话框的使用方法。 二、实验内容:简单日历系统的设计与实现。 三、实验步骤:1. 简单日历系统的设计与实现 1) 创建java 类。在“包资源管理器”中用鼠标右击项目“practical”,选择快捷菜单中“新建”→“visual class”;在打开的“new java visual class ”窗口中,“源文件夹”的默认值是项目的文件夹,不需要更改,“包”栏中输入程序包的名称“ch7”。“名称”栏中输入类名“su”,在“style ”列表框中选择“swt”→“shell”,选中“public static void main(string[] args) ”复选框,使之自动创建一个main 方法,单击“完成”按钮,一个含有gui 程序界面以及代码的编辑器窗口被打开。2) 添加组件。用鼠标右键单击gui 程序界面的任何位置,在快捷菜单中选择“set layout”→“filllayout”。在“palette”面板中用鼠标单击“swt containers ”中的“viewform”,在程序界面sshell 中添加viewform 容器viewform 。从pallete 工具栏中依次单击组件:toolbar 和table ,在viewform 容器添加一个工具栏toolbar 和一个表格table ,并在工具栏toolbar 中添加4 个工具栏按钮toolitem~toolitem3;在表格中添加7 个表列tablecolumn~tablecolumn6 。更改4 个工具栏按钮的text 属性分别为“上一年”、“上个月”、“下个月”和“下一年”;更改7 个表列的text 属性分别为“日”~“六”,如图下所示。 (3)注意声明类的成员变量:calendar now=calendar.getinstance(); int year; int month; 4) 为类“su”编写自定义的“重置”方法。在编辑器中编写代码如下:public class su { private shell sshell = null; // @jve:decl-index=0:visual-constraint=138,42 private viewform viewform = null; private toolbar toolbar = null; private table table = null; private calendar now=calendar.getinstance(); int year; int month; private void createviewform() {viewform = new viewform(sshell, swt.none); createtoolbar(); viewform.settopleft(toolbar); table = new table(viewform, swt.none); table.setheadervisible(true); table.setfont(new font(display.getdefault(), tahoma, 10, swt.normal)); table.setlinesvisible(true); tablecolumn tablecolumn = new tablecolumn(table, swt.center); tablecolumn.setwidth(60); tablecolumn.settext(日); tablecolumn tablecolumn1 = new tablecolumn(table, swt.center); tablecolumn1.setwidth(60); tablecolumn1.settext(一); tablecolumn tablecolumn2 = new tablecolumn(table, swt.center); tablecolumn2.setwidth(60); tablecolumn2.settext(二); tablecolumn tablecolumn3 = new tablecolumn(table, swt.center); tablecolumn3.setwidth(60); tablecolumn3.settext(三); tablecolumn tablecolumn4 = new tablecolumn(table, swt.center); tablecolumn4.setwidth(60); tablecolumn4.settext(四); tablecolumn tablecolumn5 = new tablecolumn(table, swt.center); tablecolumn5.setwidth(60); tablecolumn5.settext(五); tablecolumn tablecolumn6 = new tablecolumn(table, swt.center); tablecolumn6.setwidth(60); tablecolumn6.settext(六); viewform.setcontent(table);} private void remove(calendar now){ int y; int year = now.get(calendar.year); int month=now.get(calendar.month)+1;case

Java_各种时间格式转换大全

Java_各种时间格式转换大全/** * 字符串转换为java.util.Date
* 支持格式为yyyy.MM.dd G 'at' hh:mm:ss z 如'2002-1-1 AD at 22:10:59 PSD'
* yy/MM/dd HH:mm:ss 如'2002/1/1 17:55:00'
* yy/MM/dd HH:mm:ss pm 如'2002/1/1 17:55:00 pm'
* yy-MM-dd HH:mm:ss 如'2002-1-1 17:55:00'
* yy-MM-dd HH:mm:ss am 如'2002-1-1 17:55:00 am'
* @param time String 字符串
* @return Date 日期
*/ public static Date stringToDate(String time){ SimpleDateFormat formatter; int tempPos=time.indexOf("AD") ; time=time.trim() ; formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); }

Java取日期的所有时间点可根据年月日

package com.util; import java.text.DateFormat; import java.text.ParseException; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class TimeUtil { //用来全局控制上一周,本周,下一周的周数变化 private int weeks = 0; private int MaxDate;//一月最大天数 private int MaxYear;//一年最大天数 /** * @param args */ public static void main(String[] args) { TimeUtil tt = new TimeUtil(); // System.out.println("获取当天日期:"+tt.getNowTime("yyyy-MM-dd")); // System.out.println("获取本周一日期:"+tt.getMondayOFWeek()); // System.out.println("获取本周日的日期~:"+tt.getCurrentWeekday()); // System.out.println("获取上周一日期:"+tt.getPreviousWeekday()); // System.out.println("获取上周日日期:"+tt.getPreviousWeekSunday()); // System.out.println("获取下周一日期:"+tt.getNextMonday()); // System.out.println("获取下周日日期:"+tt.getNextSunday()); // System.out.println("获得相应周的周六的日期:"+tt.getNowTime("yyyy-MM-dd")); // System.out.println("获取本月第一天日期:"+tt.getFirstDayOfMonth()); // System.out.println("获取本月最后一天日期:"+tt.getDefaultDay()); // System.out.println("获取上月第一天日期:"+tt.getPreviousMonthFirst()); // System.out.println("获取上月最后一天的日期:"+tt.getPreviousMonthEnd()); // System.out.println("获取下月第一天日期:"+tt.getNextMonthFirst()); // System.out.println("获取下月最后一天日期:"+tt.getNextMonthEnd()); // System.out.println("获取本年的第一天日期:"+tt.getCurrentYearFirst()); DateFormat fmt =new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { date = fmt.parse("2008-02-21"); } catch (ParseException e) {

判断日期格式 ---JAVA

/** * 正则表达式验证日期格式 * @param args */ public static void main(String[] args) { String checkValue = "2007-02-29"; //String eL = "^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2 -9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{ 2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((1 6|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\\d):[0-5]?\\d:[0-5]?\\d$"; String eL= "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\ \s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0 -9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([1 3579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][ 0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\ /\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))"; Pattern p = https://www.360docs.net/doc/0817444810.html,pile(eL); Matcher m = p.matcher(checkValue); boolean b = m.matches(); if(b) { System.out.println("格式正确"); } else { System.out.println("格式错误"); } }

Java8时间日期库中的常用使用示例总结

Java8时间日期库中的常用使用示例 这篇文章主要介绍了Java8时间日期库中的20个常用使用示例,帮助大家更好学习Java8是如何处理时间及日期的方法,感兴趣的朋友可以参考一下 有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它。在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库。简言之,只有任务本身才会真正促使你去探索及学习。java 8的新的日期及时间API也是一样。为了学习Java 8的这个新库,这里我创建了20个以任务为导向的例子。我们先从一个简单的任务开始,比如说如何用Java 8的时间日期库来表示今天,接着再进一步生成一个带时间及时区的完整日期,然后再研究下如何完成一些更实际的任务,比如说开发一个提醒类的应用,来找出距离一些特定日期比如生日,周日纪念日,下一个帐单日,下一个溢价日或者信用卡过期时间还有多少天。 示例1 如何在Java 8中获取当天的日期 Java 8中有一个叫LocalDate的类,它能用来表示今天的日期。这个类与java.util.Date略有不同,因为它只包含日期,没有时间。因此,如果你只需要表示日期而不包含时间,就可以使用它。 LocalDate today = LocalDate.now(); System.out.println("Today's Local date : " + today); Output Today's Local date : 2014-01-14 你可以看到它创建了今天的日期却不包含时间信息。它还将日期格式化完了再输出出来,不像之前的Date类那样,打印出来的数据都是未经格式化的。 示例2 如何在Java 8中获取当前的年月日 LocalDate类中提供了一些很方便的方法可以用于提取出年月日以及其它的日期属性。使用这些方法,你可以获取到任何你所需要的日期属性,而不再需要使用java.util.Calendar这样的类了: LocalDate today = LocalDate.now(); int year = today.getYear(); int month = today.getMonthValue(); int day = today.getDayOfMonth(); System.out.printf("Year : %d Month : %d day : %d \t %n", year, month, day); Output Today's Local date : 2014-01-14Year : 2014 Month : 1 day : 14 可以看到,在Java 8中获取年月信息非常简单,只需使用对应的getter方法就好了,无需记忆,非常直观。你可以拿它和Java中老的获取当前年月日的写法进行一下比较。 示例3 在Java 8中如何获取某个特定的日期 在第一个例子中,我们看到通过静态方法now()来生成当天日期是非常简单的,不过通过另一个十分有用的工厂方法LocalDate.of(),则可以创建出任意一个日期,它接受年月日的参数,

相关文档
最新文档