您的位置:首页 > 编程语言 > Java开发

日历分析(一) java中的日期类

2013-10-07 16:10 267 查看
java中有关日期

1.Date类,该类是一个包裹类(就是把一个基本数据类型变为一个对象来使用,如同Integer类包裹一个int基本数据),Date包裹的是一个长整型long数据.

Date date = new Date();

构造参数为空,则调用的是

public Date()
{
this(System.currentTimeMillis());
}

返回从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数.

long date_ms=date.getTime();//获取的为毫秒数


2.SimpleDateFormat类,格式化和解析日期的具体类

SimpleDateFormat yf=new SimpleDateFormat("MM-dd-yyyy");

向构造方法传递想要获取的格式即可

参数可以为如下:

G:年代标识,表示是公元前还是公元后

y:年份

M:月份

d:日

h:小时,从1到12,分上下午

H:小时,从0到23

m:分钟

s:秒

S:毫秒

E:一周中的第几天,对应星期几,第一天为星期日,于此类推

z:时区

D:一年中的第几天

F:这一天所对应的星期几在该月中是第几次出现

w:一年中的第几个星期

W:一个月中的第几个星期

a:上午/下午标识

k:小时,从1到24

K:小时,从0到11,区分上下午

3.Calendar类(抽象类,不能实例化),提供设置时间,返回一些日期分量的类

得到对象,也可以用其他的实现

Calendar c=Calendar.getInstance();

比较有用的几个方法(其他方法参看相关文档)是:

boolean isLearYear(int year)//判断year是否为闰年
boolean after(Object when)//调用对象所包含的日期晚于when指定的日期,类似的还有before,equals方法
final int get(int field)//返回调用对象的一个分量,field可以为Calendar.YEAR,Calendar.MONTH,Calendar.MINUTE,Calendar.DAY_OF_WEEK

注意返回的值如月和星期都是从0开始的

获得星期几可以用这个方法,也可以计算得出,公式(y,m为年月,int型)为:

if (m == 1) m=13;
else if (m == 2) m=14;
int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7 + 1;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: