服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java入门 java中的日期处理

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>");

扫描关注微信公众号