Java日期時間(Date/Time)

獲取當前日期和時間

在Java中容易獲得當前的日期和時間。能夠使用一個簡單的Date對象的toString()方法,以下所示打印當前日期和時間:java

import java.util.Date; public class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); // display time and date using toString() System.out.println(date.toString()); } }

這將產生如下結果:spa

Mon May 04 09:51:52 CDT 2009

使用SimpleDateFormat格式化日期:

SimpleDateFormat是一個具體的類,用於格式化和分析日期的語言環境敏感的方式。 SimpleDateFormat先選擇任何用戶定義的模式爲日期時間格式。例如:.net

import java.util.*; import java.text.*; public class DateDemo { public static void main(String args[]) { Date dNow = new Date( ); SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz"); System.out.println("Current Date: " + ft.format(dNow)); } }

這將產生如下結果:orm

Current Date: Sun 2004.07.18 at 04:14:09 PM PDT

用printf格式化日期:

日期和時間格式用printf方法能夠很是輕鬆地作到。您能夠使用兩個字母的格式,從t和在下面給出的表格中的其中一個字母結束。例如:對象

import java.util.Date; public class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); // display time and date using toString() String str = String.format("Current Date/Time : %tc", date ); System.out.printf(str); } }

這將產生如下結果:blog

Current Date/Time : Sat Dec 15 16:37:57 MST 2012


解析字符串到日期:

SimpleDateFormat類有一些額外的方法,如parse(),它試圖根據存儲在給定SimpleDateFormat 的對象的格式來分析字符串。例如:字符串

import java.util.*; import java.text.*; public class DateDemo { public static void main(String args[]) { SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd"); String input = args.length == 0 ? "1818-11-11" : args[0]; System.out.print(input + " Parses as "); Date t; try { t = ft.parse(input); System.out.println(t); } catch (ParseException e) { System.out.println("Unparseable using " + ft); } } }

上述程序的運行示例將產生如下結果:get

$ java DateDemo 1818-11-11 Parses as Wed Nov 11 00:00:00 GMT 1818 $ java DateDemo 2007-12-01 2007-12-01 Parses as Sat Dec 01 00:00:00 GMT 2007
 

  1. //根據日期取得星期幾  
  2.     public static String getWeek(Date date){   
  3.         SimpleDateFormat sdf = new SimpleDateFormat("EEEE");  
  4.         String week = sdf.format(date);  
  5.         return week;  
  6.     } 
 
  1. // 取得兩個日期之間的相差多少天  
  2.     public static long getDaysBetween(Date date0, Date date1) {  
  3.         long daysBetween = (date0.getTime() - date1.getTime() + 1000000) / 86400000;// 86400000=3600*24*1000  用當即數,減小乘法計算的開銷  
  4.         return daysBetween;  
  5.     }

 



REF:
http://blog.csdn.net/cselmu9/article/details/8625530
相關文章
相關標籤/搜索