posts - 30,  comments - 85,  trackbacks - 0

          日期問題
          1、獲取服務(wù)器端當(dāng)前日期:


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


          2、獲取當(dāng)前年、月、日:


          <%@ 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、按本地時(shí)區(qū)輸出當(dāng)前日期


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


          輸出結(jié)果為:
          2003-5-30
          4、獲取數(shù)據(jù)庫中字段名為”publish_time“、類型為Datetime的值


          <%@ page import="java.util.Date"%>
          <%
          ?...連接數(shù)據(jù)庫...
          ?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));
          %>


          輸出的結(jié)果為:
          It is 星期五 2003.05.30 at 11:30:46 上午 CST
          (更為詳盡的格式符號(hào)請(qǐng)參看SimpleDateFormat類)
          6、將字符串轉(zhuǎn)換為日期


          <%@ 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);
          ?}
          %>


          輸出結(jié)果為:
          Fri Nov 11 00:00:00 CST 1222
          7、計(jì)算日期之間的間隔


          <%@ 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.");
          %>


          輸出結(jié)果為:
          Difference is 29 days.
          8、日期的加減運(yùn)算
          方法:用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()));
          %>


          輸出結(jié)果為:
          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);
          %>


          輸出結(jié)果為:
          Sat Jan 01 00:00:00 CST 2000 is after Fri Dec 31 00:00:00 CST 1999
          10、記錄一件事所花費(fèi)的時(shí)間
          方法:調(diào)用兩次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.");
          %>


          輸出結(jié)果為:
          Cyc starts at 1054275312432
          Cyc ends at 1054275312442
          This run took 10ms.

          其它:如何格式化小數(shù)


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


          輸出結(jié)果為:
          33,665,448,856.66

          在網(wǎng)上經(jīng)常看到有人問如何將 獲得當(dāng)前時(shí)間并轉(zhuǎn)換成
          yyyy-MM-dd 年-月-日
          hh:mm:ss 小時(shí)-分鐘-秒
          yyyy-MM-dd HH:mm:ss 年-月-日 小時(shí)-分鐘-秒
          三種格式 下面就是 jsp GUI 的使用方法


          <!--
          jsp獲得當(dāng)前日期
          -->
          <!-- 導(dǎo)入處理時(shí)間類,此類內(nèi)部都是靜態(tài)方法,直接調(diào)用即可. -->
          <%@ page import="com.Mamak.util.TimeString" %>
          <%
          //獲得當(dāng)前日期時(shí)間
          String nowDate = TimeString.getNowTime("yyyy-MM-dd");
          String nowTime = TimeString.getNowTime("HH:mm:ss");
          String nowDateTime = TimeString.getNowTime("yyyy-MM-dd HH:mm:ss");
          out.println("nowDate: "+nowDate);
          out.println("nowTime: "+nowTime);
          out.println("nowDateTime: "+nowDateTime);
          %>
          //******************************************************
          //GUI 或java 小程序獲得得當(dāng)前日期
          public class Test()
          {
          public static void main(String abc[])
          {
          //直接包名點(diǎn)類名點(diǎn)方法名使用
          System.out.println("nowDate: "+com.Mamak.util.TimeString.getNowTime("yyyy-MM-dd"));
          System.out.println("nowTime: "+com.Mamak.util.TimeString.getNowTime("HH:mm:ss"));
          System.out.println("nowDateTime: "+com.Mamak.util.TimeString.getNowTime("yyyy-MM-dd HH:mm:ss"));
          }
          }
          //******************************************************
          //獲得時(shí)間的bean 文件名 TimeString.java
          package com.Mamak.util;

          import java.text.SimpleDateFormat;
          import java.util.Calendar;

          public class TimeString
          {

          public TimeString()
          {
          }

          public static String getNowTime(String timeFormat)
          {
          SimpleDateFormat lformat = new SimpleDateFormat(timeFormat);
          Calendar now = Calendar.getInstance();
          String nowstr = lformat.format(now.getTime());
          return nowstr;
          }

          public static String getNotTime()
          {
          return getNowTime("yyyy-MM-dd");
          }
          }

          posted on 2006-09-18 09:43 安文豪 閱讀(396) 評(píng)論(1)  編輯  收藏

          FeedBack:
          # re: 關(guān)于日期的處理的總結(jié)
          2006-09-18 13:10 | 揚(yáng)州夢(mèng)
          Date的許多get,set方法在新的java版本中都已經(jīng)不再鼓勵(lì)使用,最好不用
          其實(shí)使用Calendar可以完成以上所有工作  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          <2006年9月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          常用鏈接

          留言簿(6)

          隨筆檔案(28)

          文章分類(3)

          文章檔案(4)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 86548
          • 排名 - 667

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 三都| 洪雅县| 迭部县| 微山县| 建湖县| 闵行区| 沾益县| 乌审旗| 长丰县| 醴陵市| 鱼台县| 崇阳县| 清苑县| 临汾市| 左云县| 邢台县| 勐海县| 鹤壁市| 当阳市| 东乌珠穆沁旗| 宣汉县| 宿松县| 久治县| 南阳市| 屏边| 铜山县| 洛扎县| 镇赉县| 军事| 陈巴尔虎旗| 富民县| 桑日县| 宜城市| 虞城县| 永胜县| 中牟县| 上犹县| 泉州市| 嘉祥县| 朝阳县| 磐石市|