Java中时间日期

  本人之前做的是.net开发,在.net中对于时间的处理很方便,一个Date类就基本搞定了对时间操作的基本处理。但是在Java中就不太一样了,虽然Java中也有Date类,但Date多数用于获取或者格式化时间输出,如果涉及到对时间的自定义格式化输出或者对时间日期\时间的加减,就要配合其他类一起完成。

一、时间的比较

  Date类在Java中属于元老级,但由于前期对Date类的设计相当糟糕,Java官方都建议不要使用Date类。实际上Date中存的是1970年1月1日起的毫秒数。

//Date 常用于粗略的获取时间字符串和比较
Date date = new Date();
date.after(Date date)  //比较时间
date.before(Date date) //比较时间
date.toString() //粗略的获取时间字符串

二、格式化时间

  如果想要更个性化的时间字符串的话就需要其他的类做辅助,SimpleDateFormat 类。

Date dNow = new Date( );
SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("Current Date: " + ft.format(dNow));
//输出:Current Date: Wed 2016.11.09 at 08:23:19 AM UTC
字母描述示例
G纪元标记AD
y四位年份2001
M月份July or 07
d一个月的日期10
hA.M./P.M. (1~12)格式小时12
H一天中的小时 (0~23)22
m分钟数30
s秒数55
S毫秒数234
E星期几Tuesday
D一年中的日子360
F一个月中第几周的周几2 (second Wed. in July)
w一年中第几周40
W一个月中第几周1
aA.M./P.M. 标记PM
k一天中的小时(1~24)24
KA.M./P.M. (0~11)格式小时10
z时区Eastern Standard Time
文字定界符Delimiter
单引号`

三、时间的操作

  项目中对时间操作最多的就是时间的加减,加一天减一天或者指定某个特定的时间。Calendar类。
  创建一个代表系统当前日期的Calendar对象

Calendar c = Calendar.getInstance();//默认是当前日期

  创建一个指定日期的Calendar对象
  使用Calendar类代表特定的时间,需要首先创建一个Calendar的对象,然后再设定该对象中的年月日参数来完成。

//创建一个代表2009年6月12日的Calendar对象
Calendar c1 = Calendar.getInstance();
c1.set(2009, 6 - 1, 12);
//或者设置
c1.set(Calendar.DATE,10);

  时间上的加减

c1.add(Calendar.DATE, 10);

  虽然Date不推荐再使用,但是某些环境下还是需要Date的,Date需要与Calendar进行转换。

Calendar calendar = Calendar.getInstance();//日历类的实例化
calendar.set(year, month - 1, day);//设置日历时间,月份必须减一
Date date = calendar.getTime(); // 从一个 Calendar 对象中获取 Date 对象

Date date = new Date();//直接new对象,获取的是当前时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值