WEB开发网      濠电姷鏁告繛鈧繛浣冲洤纾瑰┑鐘宠壘閻ょ偓銇勯幇鍫曟闁稿鍠愰妵鍕冀閵娧佲偓鎺楁⒒閸曨偄顏柡宀嬬畱铻e〒姘煎灡绗戦梻浣筋嚙濮橈箓顢氳濠€浣糕攽閻樿宸ュΔ鐘叉啞缁傚秹宕滆绾惧ジ寮堕崼娑樺缂佹宀搁弻鐔风暋閻楀牆娈楅梺璇″枓閺呯姴鐣疯ぐ鎺濇晝闁靛牆妫欓蹇旂節閻㈤潧浠﹂柛銊ョ埣楠炴劙骞橀鑲╋紱闂佽宕樼粔顔裤亹閹烘挸浜归梺缁樺灦閿曗晛螞閸曨垱鈷戦柟鑲╁仜婵″ジ鎮楀☉鎺撴珖缂侇喖顑呴鍏煎緞濡粯娅囬梻浣瑰缁诲倿寮绘繝鍥ㄦ櫇闁稿本绋撻崢鐢告煟鎼淬垻鈯曢柨姘舵煟韫囥儳绋荤紒缁樼箖缁绘繈宕橀妸褌绱濋梻浣筋嚃閸ㄤ即宕弶鎴犳殾闁绘梻鈷堥弫鍌炴煕閳锯偓閺呮瑧妲愬Ο琛℃斀闁绘劕妯婇崵鐔封攽椤旇棄鍔ら摶鐐烘煕閺囥劌澧柛娆忕箻閺屽秹宕崟顒€娅g紓浣插亾濠㈣泛顑囩粻楣冩煙鐎涙ḿ绠橀柨娑樼У椤ㄣ儵鎮欓鍕紙闂佽鍠栫紞濠傜暦閹偊妲诲┑鈩冨絻椤兘寮诲☉銏犖╅柕澶堝労閸斿绱撴担绋库偓鍝ョ矓瑜版帒鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘 ---闂傚倸鍊烽悞锔锯偓绗涘厾娲煛閸涱厾顔嗛梺璺ㄥ櫐閹凤拷
开发学院WEB开发Jsp 浅析Java中常见的Date类的应用技巧 阅读

浅析Java中常见的Date类的应用技巧

 2008-01-05 19:19:47 来源:WEB开发网 闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�闂傚倸鍊风粈渚€骞夐敓鐘插瀭闁汇垹鐏氬畷鏌ユ煙閹殿喖顣奸柛搴$У閵囧嫰骞掗幋婵冨亾閻㈢ǹ纾婚柟鐐灱濡插牊绻涢崱妤冃℃繛宀婁簽缁辨捇宕掑鎵佹瀸闂佺懓鍤栭幏锟�濠电姷鏁告慨顓㈠箯閸愵喖宸濇い鎾寸箘閹规洟姊绘笟鈧ḿ褍煤閵堝悿娲Ω閳轰胶鍔﹀銈嗗笂閼冲爼鍩婇弴銏$厪闁搞儮鏅涙禒褏绱掓潏鈺佷槐闁轰焦鎹囬弫鎾绘晸閿燂拷闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�  闂傚倸鍊烽懗鑸电仚缂備胶绮〃鍛村煝瀹ュ鍗抽柕蹇曞У閻庮剟姊虹紒妯哄妞ゆ劗鍘ч埥澶娢熼柨瀣偓濠氭⒑瑜版帒浜伴柛鎾寸☉閳绘柨顫濋懜纰樻嫼闂佸憡绋戦オ鏉戔枔閺冣偓缁绘稓浠﹂崒姘瀳闂佸磭绮幑鍥嵁鐎n亖鏀介柟閭﹀墯椤斿倹淇婇悙顏勨偓鏍ь潖婵犳艾鍌ㄧ憸蹇涘箟閹绢喗鏅搁柨鐕傛嫹
核心提示:Date 类从java 开发包(JDK) 1.0 就开始进化,当时它只包含了几个取得或者设置一个日期数据的各个部分的方法,浅析Java中常见的Date类的应用技巧, 比如说月,日,将解析文本字符串"9-29-2001"并创建一个值为001736000000 的日期对象,例子程序:import jav

  Date 类从java 开发包(JDK) 1.0 就开始进化,当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月,日,和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了, 我们将在本文中进一步讨论它。
  
  这种改进旨在更好的处理日期数据的国际化格式。 就象在JDK 1.1中一样, Date 类实际上只是一个包裹类, 它包含的是一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数。
  
  创建一个日期对象
  
  让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子。 这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间。
  
  
  import java.util.Date;
  
  public class DateExample1
  {
  public static void main
  (String[] args)
  {
  //自己替换[]
  // Get the system date/time
  Date date = new Date();
  
  System.out.PRintln(date.getTime());
  }
  }
  
  在星期六,2001年9月29日,下午大约是6:50的样子,上面的例子在系统输出设备上显示的结果是1001803809710。在这个例子中,值得注重的是我们使用了Date构造函数创建一个日期对象,这个构造函数没有接受任何参数。而这个构造函数在内部使用了System.currentTimeMillis() 方法来从系统获取日期。
  
  那么,现在我们已经知道了如何获取从1970年1月1日开始经历的毫秒数了。我们如何才能以一种用户明白的格式来显示这个日期呢?在这里类java.text.SimpleDateFormat和它的抽象基类 java.text.DateFormat 就派得上用场了。
  
  日期数据的定制格式
  
  假如我们希望定制日期数据的格式, 比方星期六-9月-29日-2001年。 下面的例子展示了如何完成这个工作:
  
  import java.text.SimpleDateFormat;
  import java.util.Date;
  
  public class DateExample2
  {
  
  public static void main
  (String[] args)
  {
  //自己替换[]
  
  SimpleDateFormat bartDateFormat =
  new SimpleDateFormat
  ("EEEE-MMMM-dd-yyyy");
  
  Date date = new Date();
  
  System.out.println
  (bartDateFormat.format(date));
  }
  }
  
  只要通过向SimpleDateFormat 的构造函数传递格式字符串"EEE-MMMM-dd-yyyy", 我们就能够指明自己想要的格式。 你应该可以看见, 格式字符串中的ASCII 字符告诉格式化函数下面显示日期数据的哪一个部分。 EEEE是星期, MMMM是月, dd是日,yyyy是年。字符的个数决定了日期是如何格式化的。传递"EE-MM-dd-yy"会显示 Sat-09-29-01。
  
  将文本数据解析成日期对象
  
  假设我们有一个文本字符串包含了一个格式化了的日期对象,而我们希望解析这个字符串并从文本日期数据创建一个日期对象。 我们将再次以格式化字符串"MM-dd-yyyy" 调用SimpleDateFormat类,但是这一次,我们使用格式化解析而不是生成一个文本日期数据。我们的例子,显示在下面,将解析文本字符串"9-29-2001"并创建一个值为001736000000 的日期对象。
  
  例子程序:
  
  import java.text.SimpleDateFormat;
  import java.util.Date;
  
  public class DateExample3
  {
  
  public static void main
  (String[]args)
  {
  //自己替换[]
  // Create a date formatter
  that can parse dates of
  // the form MM-dd-yyyy.
  SimpleDateFormat bartDateFormat
  =
  new SimpleDateFormat("MM-dd-yyyy");
  
  // Create a string containing
  a text date to be parsed.
  String dateStringToParse = "9-29-2001";
  
  try {
  // Parse the text
  version of the date.
  // We have to perform
  the parse method in a
  // try-catch constrUCt
  in case dateStringToParse
  // does not contain a date in
  the format we are eXPecting.
  Date date =
  bartDateFormat.parse(dateStringToParse);
  
  // Now send the parsed
  date as a long value
  // to the system output.
  System.out.println(date.getTime());
  }
  catch (Exception ex)
  {
  System.out.println(ex.getMessage());
  }
  }
  }
  
  使用标准的日期格式化过程
  
  既然我们已经可以生成和解析定制的日期格式了,让我们来看一看如何使用内建的格式化过程。

Tags:浅析 Java 常见

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接