`

java时间日期函数

阅读更多
java时间日期函数
一:字符串转换成时间及时间相减:

1:) SimpleDateFormat formatter = new SimpleDateFormat ("yyyy.MM.dd");
//假定像2002.07.04的是合法日期其他都非法。
String str="2002.07.04";
ParsePosition pos = new ParsePosition(0);
Date dt=formatter.parse(str,pos);
if(dt!=null)
{
//是合法日期
}
else
{
//非法日期
}

2:)两个日期相减
import java.util.*;
import java.text.*; 
class a 
{
public static void main(String[] args) 
{
String s1 = "2003/08/15 17:15:30";
String s2 = "2002/09/14 14:18:37";
try{ 
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss");

ParsePosition pos = new ParsePosition(0);
ParsePosition pos1 = new ParsePosition(0);
Date dt1=formatter.parse(s1,pos);
Date dt2=formatter.parse(s2,pos1);
System.out.println("dt1="+dt1);
System.out.println("dt2="+dt2);
long l = dt1.getTime() - dt2.getTime();

System.out.println("Hello World!="+l);
}catch(Exception e){
System.out.println("exception"+e.toString());
}

}
}


3:)得到2个月后的日期:
import java.util.*;
import java.text.DateFormat;
public class test2
{
public static void main(String args[]) throws Exception
{
String date="2001/11/30";

DateFormat dateFormat =
DateFormat.getDateInstance(DateFormat.MEDIUM);
GregorianCalendar grc=new GregorianCalendar();
grc.setTime(new Date(date));


grc.add(GregorianCalendar.MONTH,2);
System.out.println("grc="+dateFormat.format(grc.getTime())); 
}
}


二:计算日期间隔


public int getDays(Date sd,Date ed){
return (ed.getTime()-sd.getTime())/(3600*24*1000)
}


三: 日期加减


SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
String str="20011230";
Date dt=sdf.parse(str,new ParsePosition(0));
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.DATE,2);//你要加减的日期 
Date dt1=rightNow.getTime();
String reStr=sdf.format(dt1,"",new FieldPosition(0));
System.out.println(reStr);


四: 时间显示控制


第一种方式: 
<html> 
<head><title>取得系统时间</title></head> 
<body> 
<%java.util.Date date=new java.util.Date();%> 
现在是:<%=date%> 
</body> 
</html> 
运行结果: 
现在是:Tue Jul 31 10:32:52 CST 2001

第二种方式: 
<%@ page import="java.util.*, java.text.*" %> 
<HTML> 
<HEAD><TITLE>显示当前时间</TITLE></HEAD> 
<BODY> 
当前时间: 
<% 
Date now = new Date(); 
out.println(DateFormat.getTimeInstance().format(now)); 
%> 
</BODY> 
</HTML> 
运行结果: 
10:31:42 AM

第三种方式: 
<% 
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy年MM月dd日"); 
java.util.Date currentTime_1 = new java.util.Date(); 
out.print(formatter.format(currentTime_1)); 
%> 
运行结果: 
2001年07月31日

第四种方式: 
<% 
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy/MM/dd HH/mm/ss"); 
java.util.Date currentTime_1 = new java.util.Date(); 
out.print(formatter.format(currentTime_1)); 
%> 
运行结果: 
2001/07/31 10/32/52 
第三四两种方式其实是一样的他可以产生千变万化的格式。
csbin 发表于:2006.03.04 16:58 ::分类: ( JAVA ) ::阅读:(158次) :: 评论 (1) :: 引用 (0) 
dorado中的一段时间日期操作代码 [回复]

import java.util.*;
import java.text.*;

public void saveTrainSCH(ParameterSet parameters)
throws Exception {

Dataset dataset = getDataset("datasetTrainSCHSingle");
RecordIterator ri = dataset.recordIterator();
Date date, leaveDate, arriveDate;
String strDate, strTime;
// 定义日期格式
SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
while (ri.hasNext()) {
Record record = ri.nextRecord();
// 获得执行日期
date = record.getDate("SCHEDULE_DATE");
strDate = formatDate.format(date);
// 获得开始时间
strTime = record.getString("LEAVE_TIME");
System.out.println("*******************************************************************date"+strTime);
// 合并时间
strTime = strDate + " " + strTime;
System.out.println("*******************************************************************time"+strTime);
// 格式化合并时间
ParsePosition pos = new ParsePosition(0);
leaveDate = formatter.parse(strTime,pos);
record.setDate("LEAVE_PLANNED",leaveDate);
// 计算到达时间
int cycle = record.getInt("CYCLE");
GregorianCalendar grc=new GregorianCalendar();
grc.setTime(leaveDate);
grc.add(GregorianCalendar.MINUTE, cycle);
arriveDate = grc.getTime();
record.setDate("ARRIVE_PLANNED",arriveDate);

}
super.doUpdate(parameters);
}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics