多语言展示
当前在线:342今日阅读:103今日分享:49

Java日期操作

介绍如何获取Java日期,以及Java日期运算。
工具/原料

 Eclipse

方法/步骤
1

获取当前日期:java.util.Date date = new java.util.Date();这个是util包下在Date,不是sql包下的,不要引用错误。不能直接输出这个date,要将它格式化之后再输出就符合我们的审美观了。格式化方法:java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat('yyyy-MM-dd HH:mm:ss');括号中的格式是自己定义的,还可以是其他格式如:“yyyy年MM月dd日”,“yyyy/MM/dd”可以根据自己的实际情况进行定义。

2

使用Calendar获取当前日期:Calendar cal = Calendar.getInstance();System.out.println('Current Date: ' + cal.getTime());这样输出的结果:Current Date: Tue Jun 10 10:31:44 CST 2014

3

使用TimeStamp获取当前日期:SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd');Timestamp now = new Timestamp(System.currentTimeMillis()); String sf = sdf.format(now);System.out.println(sf);输出结果:2014-06-10

4

当前日: int day = cal.get(Calendar.DATE);当前月:(注:月份是从0开始的)  int month = cal.get(Calendar.MONTH) + 1;当前年:  int year = cal.get(Calendar.YEAR);本周的第几天:(在国外周日是一周的第一天)  int dow = cal.get(Calendar.DAY_OF_WEEK);本月的第几天:  int dom = cal.get(Calendar.DAY_OF_MONTH);本年的第几天:  int doy = cal.get(Calendar.DAY_OF_YEAR);  System.out.println('Day: ' + day);输出结果:Day:10  System.out.println('Month: ' + month);输出结果:Month:6  System.out.println('Year: ' + year);输出结果:Year:2014  System.out.println('Day of Week: ' + dow);输出结果:Day of Week:3(今天星期二)  System.out.println('Day of Month: ' + dom);输出结果:Day of Month:10  System.out.println('Day of Year: ' + doy);输出结果:Day of Year:161

5

将指定格式的字符串转换为日期:SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd');Date sd = sdf.parse('2013-12-25');

Java日期运算
1

两个日期之差:SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd');Date d1=sdf.parse('2013-12-25');Date d2=sdf.parse('2013-12-29');long result =(d2.getTime()-d1.getTime())/(24*60*60*1000);System.out.println(result);输出结果:4

2

在指定日期上加上多少天:SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd');Date sd = sdf.parse('2013-12-23');Calendar cal1 = new GregorianCalendar();cal1.setTime(sd);cal1.add(Calendar.DATE, 161);System.out.println(sdf.format(cal1.getTime()));

3

Calendar cal = Calendar.getInstance(); 在当前日期加上几天:cal.add(Calendar.DATE, 161);在当前日期减去几天:cal.add(Calendar.DATE, -161);在当前日期加上几个月:cal.add(Calendar.MONTH,2);------------------------------------void java.util.Calendar.add(int field, int amount)只要更改field即可。

推荐信息