jsp中的日期问题及其它

日期问题
1、获取服务器端当前日期:

<!--page import="java.util.Date-->
<!--r>   Date myDate = new Date();
-->

输出结果:
引用
Fri Jan 05 21:39:40 CST 2007
2、获取当前年、月、日:

<!--page import="java.util.Date-->

<!--r>   Date myDate = new Date();
int thisYear = myDate.getYear() + 1900;
int thisMonth = myDate.getMonth() + 1;
int thisDate = myDate.getDate();
-->

输出结果:
引用
2007 1 5
3、按本地时区输出当前日期

<!--page import="java.util.Date-->
<!--r>   Date myDate = new Date();
out.println(myDate.toLocaleString());
-->

结果:2007-1-5 21:43:27

4、获取数据库中字段名为”publish_time“、类型为Datetime的值

<!--page import="java.util.Date-->
<!--r>   ...连接数据库...
ResultSet rs = ...
Date sDate = rs.getDate("publish_time");
-->

5、按照指定格式打印日期

<!--page import="java.util.Date-->
<!--page import="java.text.DateFormat-->
<!--r>   Date dNow = new Date();

SimpleDateFormat formatter = new SimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
out.println("It is " + formatter.format(dNow));
-->

输出的结果为:
It is 星期五 2007.01.05 at 21:43:27 下午 CST
6、将字符串转换为日期

<!--page import="java.util.Date-->
<!--page import="java.text.DateFormat-->
<!--r>   String input = "1222-11-11";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date t = null;
try{
t = formatter.parse(input);
out.println(t);
}catch(ParseException e){
out.println("unparseable using " + formatter);
}
-->

输出结果为:
Fri Nov 11 00:00:00 CST 1222
7、计算日期之间的间隔

<!--page import="java.util.Date-->
<!--page import="java.text.DateFormat-->
<!--r>   String input = "2003-05-01";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = null;
try{
d1 = formatter.parse(input);
}catch(ParseException e){
out.println("unparseable using " + formatter);
}

Date d2 = new Date();

long diff = d2.getTime() - d1.getTime();
out.println("Difference is " + (diff/(1000*60*60*24)) + " days.");
-->

输出结果为:
Difference is 29 days.

8、日期的加减运算
方法:用Calendar类的add()方法

<!--page import="java.util.*-->
<!--page import="java.text.*-->
<!--r>   Calendar now = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
out.println("It is now " + formatter.format(now.getTime()));
now.add(Calendar.DAY_OF_YEAR,-(365*2));
out.println("
");
out.println("Two years ago was " + formatter.format(now.getTime()));
-->

9、比较日期
方法:用equals()、before()、after()方法

<!--page import="java.util.*-->
<!--page import="java.text.*-->
<!--r>   DateFormat df = new SimpleDateFormat("yyy-MM-dd");
Date d1 = df.parse("2000-01-01");
Date d2 = df.parse("1999-12-31");

String relation = null;
if(d1.equals(d2))
relation = "the same date as";
else if(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()方法,求差值

<!--page import="java.text.*-->
<!--r>   long t0,t1;
t0 = System.currentTimeMillis();
out.println("Cyc starts at " + t0);
int k = 0;
for(int i =0;i<100000;i++){
k += i;
}
t1 = System.currentTimeMillis();
out.println("
");
out.println("Cyc ends at " + t1);
out.println("
");
out.println("This run took " + (t1-t0) + "ms.");
-->

输出结果为:
Cyc starts at 1054275312432
Cyc ends at 1054275312442
This run took 10ms.

其它:如何格式化小数




输出结果为:
33,665,448,856.66

随机日志

发表评论

0 评论.

Leave a Reply



[ Ctrl + Enter ]

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

CNXCT小组的博客 is Stephen Fry proof thanks to caching by WP Super Cache