Jsp中的Date

    技术2022-05-20  37

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

    代码:
    <%@ page import="java.util.Date"%><%    Date myDate = new Date();%>

    2、获取当前年、月、日:

    代码:
    <%@ page import="java.util.Date"%><%    Date myDate = new Date();    int thisYear = myDate.getYear() + 1900;//thisYear = 2003    int thisMonth = myDate.getMonth() + 1;//thisMonth = 5    int thisDate = myDate.getDate();//thisDate = 30%>

    3、按本地时区输出当前日期

    代码:
    <%@ page import="java.util.Date"%><%    Date myDate = new Date();    out.println(myDate.toLocaleString());%>

    输出结果为:2003-5-30

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

    代码:
    <%@ page import="java.util.Date"%><%    ...连接数据库...    ResultSet rs = ...    Date sDate = rs.getDate("publish_time");%>[code] 5、按照指定格式打印日期[code]<%@ page import="java.util.Date"%><%@ page import="java.text.DateFormat"%><%    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 星期五 2003.05.30 at 11:30:46 上午 CST (更为详尽的格式符号请参看SimpleDateFormat类)

    6、将字符串转换为日期

    代码:
    <%@ page import="java.util.Date"%><%@ page import="java.text.DateFormat"%><%    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"%><%    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.*"%><%    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("<br>");    out.println("Two years ago was " + formatter.format(now.getTime()));%>

    输出结果为:It is now 星期五 2003.05.30 at 01:45:32 下午 CST Two years ago was 星期三 2001.05.30 at 01:45:32 下午 CST

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

    复制内容到剪贴板
    代码:
    <%@ page import="java.util.*"%><%@ page import="java.text.*"%><%    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.*"%><%    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("<br>");    out.println("Cyc ends at " + t1);    out.println("<br>");    out.println("This run took " + (t1-t0) + "ms.");%>

    输出结果为:Cyc starts at 1054275312432 Cyc ends at 1054275312442 This run took 10ms. 其它:如何格式化小数

    代码:
    <%@ page import="java.text.*"%><%    DecimalFormat df = new DecimalFormat(",###.00");    double aNumber = 33665448856.6568975;    String result = df.format(aNumber);    out.println(result);%>

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

     

     

    原帖地址:http://bbs.blueidea.com/viewthread.php?tid=989464


    最新回复(0)