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
相关文章
相关标签/搜索