java创建Date日期时间笔记

(1)public Date()

  创建的日期类对象的日期时间被设置成创建时刻相对应的日期时间。

  例:

Java代码

1.Date today=new Date();  //today被设置成创建时刻相对应的日期时间。 
  (2)public Date (long date)

  long 型的参数date可以通过调用Date类中的static方法parse(String s)来获得。

例:

Java代码

1.long l=Date.parse("Mon 6 Jan 1997 13:3:00"); 
2.Date day=new Date(l);  //day中时间为1997年 1月6号星期一,13:3:00。 

(3)public Date(String s)

按字符串s产生一日期对象。s的格式与方法parse中字符串参数的模式相同。

例:

Java代码

1.Date day=new Date("Mon 6 Jan 1997 13:3:00");  //day 中时间为1997年1月6号星期一,13:3:00. 
 

(4)按:年、月、日

Java代码 
1.public Date(int year,int month,int date) 
 

(5)按:年、月、日、时、分

Java代码

1.public Date(int year,int month,int date,int hrs,int min)

(6)按:年、月、日、时、分、秒

Java代码

1.public Date(int year,int month,int date,int hrs,int min,int sec) 
 

按给定的参数创建一日期对象。

year的值为:需设定的年份-1900。例如需设定的年份是1997则year的值应为97,即1997-1900的结果。所以Date中可设定的年份最小为1900;

  month的值域为0~11,0代表1月,11表代表12月;

  date的值域在1~31之间;

  hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点间hrs=12;

  min和sec的值域在0~59之间。


下面整理一些相关示例

创建一个日期对象:

 代码如下 复制代码
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());
} }
 

 日期数据的定制格式:

 代码如下 复制代码
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));
} }
 

将文本数据解析成日期对象 :

 代码如下 复制代码
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());
}
} }
 

时间比较:

 代码如下 复制代码
import java.text.*;
import java.util.*;

public class TimeCompare{

 public static void main(String[] args){
  boolean flag = isDateBefore('2004-09-09 12:12:12','2005-09-09 16:00:00');
  System.out.println(flag);
  flag = isDateBefore('2006-09-09 01:01:01','2005-09-09 16:00:00');
  System.out.println(flag);
  flag = isDateBefore('2005-09-09 01:01:01');
  System.out.println(flag);
 }

 //判断时间date1是否在时间date2之前
 //时间格式 2005-4-21 16:16:34
 public static boolean isDateBefore(String date1,String date2){
  try{
   DateFormat df = DateFormat.getDateTimeInstance();
   return df.parse(date1).before(df.parse(date2));
  }catch(ParseException e){
   System.out.print('[SYS] ' + e.getMessage());
   return false;
  }
 }
 //判断当前时间是否在时间date2之前
 //时间格式 2005-4-21 16:16:34
 public static boolean isDateBefore(String date2){
  try{
   Date date1 = new Date();
   DateFormat df = DateFormat.getDateTimeInstance();
   return date1.before(df.parse(date2));
  }catch(ParseException e){
   System.out.print('[SYS] ' + e.getMessage());
   return false;
  }
 }

}
 

在java里怎么实现当前时间格式为yyyy-mm-dd hh:mm:ss和当前时间后30分钟:

 代码如下 复制代码
import java.text.*;
import java.util.*;
public class L{
public static void main(String[] args){
Date date = new Date(System.currentTimeMillis());
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM,Locale.CHINA);
String dt = df.format(date);
System.out.println(dt);
date = new Date(System.currentTimeMillis() + 30 * 60 * 1000); //半小时以后的时间
dt = df.format(date);
System.out.println(dt);
}}
 

更多详细内容请查看:http://www.111cn.net/jsp/Java/56302.htm

posted @ 2014-01-07 09:26  divor  阅读(13247)  评论(0编辑  收藏  举报