Date date = new Date();
System.out.println(date.getTime());
输出结果是1210745780625
编译时间当时时间大概是5.14好14.16分
谁能给我解释下这数字分别是什么意思?
答案:
-------------
你想得到时间格式为-05-14这种吧?
date.getTime()所返回的是一个long型的毫秒数
获取特定格式的时间需要格式化的。
例子:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
sdf.format(new Date());
得到的日期格式为:-05-14
------------------------
扩展:date()的方法
1、獲取服務器端當前日期:
Java代码
DatemyDate=newDate();
%>
2、獲取當前年、月、日、星期:
Java代码
DatemyDate=newDate();
intthisYear=myDate.getYear()+1900;//thisYear=
intthisMonth=myDate.getMonth()+1;//thisMonth=5
intthisDate=myDate.getDate();//thisDate=30
intthisDay=myDate.getDay();//thisDay=1
%>
3、按本地時區輸出當前日期
Java代码
DatemyDate=newDate();
out.println(myDate.toLocaleString());
%>
輸出結果為: -5-30
4、獲取數據庫中字段名為"publish_time"、類型為Datetime的值
Java代码
...連接數據庫...
ResultSetrs=...
DatesDate=rs.getDate("publish_time");
%>
5、按照指定格式打印日期
Java代码
DatedNow=newDate();
SimpleDateFormatformatter=newSimpleDateFormat("Eyyyy.MM.dd'at'hh:mm:ssazzz");
out.println("Itis"+formatter.format(dNow));
%>
輸出的結果為:
It is 星期五 .05.30 at 11:30:46 上午 CST
(更為詳盡的格式符號請參看SimpleDateFormat類)
6、將字符串轉換為日期
Java代码
Stringinput="1222-11-11";
SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");
Datet=null;
try{
t=formatter.parse(input);
out.println(t);
}catch(ParseExceptione){
out.println("unparseableusing"+formatter);
}
%>
輸出結果為:Fri Nov 11 00:00:00 CST 1222
7、計算日期之間的間隔
Java代码
Stringinput="-05-01";
SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");
Dated1=null;
trycatch(ParseExceptione)
Dated2=newDate();
longdiff=d2.getTime()-d1.getTime();
out.println("Differenceis"+(diff/(1000*60*60*24))+"days.");
%>
輸出結果為:
Difference is 29 days.
8、日期的加減運算
方法:用Calendar類的add()方法
Java代码
Calendarnow=Calendar.getInstance();
SimpleDateFormatformatter=newSimpleDateFormat("Eyyyy.MM.dd'at'hh:mm:ssazzz");
out.println("Itisnow"+formatter.format(now.getTime()));
now.add(Calendar.DAY_OF_YEAR,-(365*2));
out.println("
");
out.println("Twoyearsagowas"+formatter.format(now.getTime()));
%>
輸出結果為:
It is now 星期五 .05.30 at 01:45:32 下午 CST
Two years ago was 星期三 2001.05.30 at 01:45:32 下午 CST
9、比較日期
方法:用equals()、before()、after()方法
Java代码
DateFormatdf=newSimpleDateFormat("yyy-MM-dd");
Dated1=df.parse("2000-01-01");
Dated2=df.parse("1999-12-31");
Stringrelation=null;
if(d1.equals(d2))
relation="thesamedateas";
elseif(d1.before(d2))
relation="before";
else
relation="after";
out.println(d1+"is"+relation+''+d2);
%>
輸出結果為:
Sat Jan 01 00:00:00 CST 2000 is after Fri Dec 31 00:00:00 CST 1999
10、記錄一件事所花費的時間
方法:調用兩次System.getTimeMillis()方法,求差值
Java代码
longt0,t1;
t0=System.currentTimeMillis();
out.println("Cycstartsat"+t0);
intk=0;
for(inti=0;i<100000;i++)
t1=System.currentTimeMillis();
out.println("
");
out.println("Cycendsat"+t1);
out.println("
");
out.println("Thisruntook"+(t1-t0)+"ms.");
%>
輸出結果為:
Cyc starts at 1054275312432
Cyc ends at 1054275312442
This run took 10ms.
11、其它:如何格式化小數
Java代码
DecimalFormatdf=newDecimalFormat(",###.00");
doubleaNumber=33665448856.6568975;
Stringresult=df.format(aNumber);
out.println(result);
%>
輸出結果為:
33,665,448,856.66