1 日期模板
模板定义如下:
y 年号,如1996
m 月份,如july 或者07
d 月中第几天,如12
h 小时(24 制),如0、17
m 分钟,如32
s 钞钟,如55
s 微钞,如978
e 星期几,如tuesday
d 一年中的第几天,如189
w week in year (number) 27
w week in month (number) 2
a am/pm marker (text) pm
k hour in day (1~24) (number) 24
k hour in am/pm (0~11) (number) 0
z time zone (text) pacific standard time
' escape for text (delimiter)
'' single quote (literal) '
2 日期格式
使用simpledateformat 类格式化日期,如果日期格式不对,会产生异常。
import java.text.*;
import java.util.*;
public class testdate {
public static void main(string[] args) {
string dstr = "2001.12.12-08.23.21";
date d = null;
simpledateformat sdf = new simpledateformat("yyyy.mm.dd- hh.mm.ss");
try {
http://www.54he.com 何海平hp54@163.com
d = sdf.parse(dstr);
} catch (parseexception pe) {
system.out.println(pe.getmessage());
}
system.out.println(d);
system.out.println(d.gettime());
}
}
在java.text 包中找到那个simpledateformat 类,给它一个模板,可以parse 成一个date,然后使用date
类的getitme() 方法,可以得到一个long 数据。
3 取得当前日期
public string getdatetime()
{
calendar cal = calendar.getinstance();
simpledateformat formatter = new simpledateformat("yyyy- mm-dd hh:mm:ss");
string mdatetime=formatter.format(cal.gettime());
return (mdatetime);
}
public java.sql.date getdate()
{
java.sql.date mdate;
calendar cal = calendar.getinstance();
simpledateformat formatter = new simpledateformat("yyyy- mm-dd hh:mm:ss");
string mdatetime=formatter.format(cal.gettime());
return (java.sql.date.valueof(mdatetime));
}
4 当前时间
calendar cal = calendar.getinstance();
// simpledateformat formatter = new simpledateformat("yyyy-mm- dd hh:mm:ss");
simpledateformat formatter = new simpledateformat("yyyy-mm-dd hh:mm:ss g e d f w w a e f");
string mdatetime=formatter.format(cal.gettime());
out.println(mdatetime);
out.println("<br>");
5 一年前日期
java.util.date mydate=new java.util.date();
long mytime=(mydate.gettime()/1000)-60*60*24*365;
mydate.settime(mytime*1000);
string mdate=formatter.format(mydate);
out.println(mdate);
out.println("<br>");
6 明天日期
mydate=new java.util.date();
mytime=(mydate.gettime()/1000)+60*60*24;
mydate.settime(mytime*1000);
mdate=formatter.format(mydate);
out.println(mdate);
out.println("<br>");
7 两个时间之间的天数
simpledateformat myformatter = new simpledateformat("yyyy-mm- dd");
java.util.date date= myformatter.parse("2003-05-1");
java.util.date mydate= myformatter.parse("1899-12-30");
long day=(date.gettime()-mydate.gettime())/(24*60*60*1000);
out.println(day);
out.println("<br>");
8 加半小时
simpledateformat format = new simpledateformat("yyyy-mm-dd hh:mm:ss");
java.util.date date1 = format.parse("2002-02-28 23:16:00");
long time=(date1.gettime()/1000)+60*30;
date1.settime(time*1000);
string mydate1=formatter.format(date1);
out.println(mydate1);
out.println("<br>");
9 年月周求日期
simpledateformat formatter2 = new simpledateformat("yyyy-mm f e");
java.util.date date2= formatter2.parse("2003-05 5 星期五");
simpledateformat formatter3 = new simpledateformat("yyyy-mm-dd");
string mydate2=formatter3.format(date2);
out.println(mydate2);
out.println("<br>");
10 求给定日期是星期几
mydate= myformatter.parse("2001-1-1");
simpledateformat formatter4 = new simpledateformat("e");
string mydate3=formatter4.format(mydate);
out.println(mydate3);
out.println("<br>");
闽公网安备 35060202000074号