java时间calendar使用_java关于时间的操作Date与Calendar的使用

java关于时间的操作,涉及两个操作时间 的类:Date 与 Calendar

操作时间主要涉及如何获取时间,如何获取指定格式的时间,当然也涉及时间的加加减减等运算。

具体使用方法,请看类的相关注释:

Date类:

import java.text.SimpleDateFormat;

import java.util.Date;

public class DateTest {

public static void main(String[] args) {

DateTest();

}

private static void DateTest() {

// 取得Date对象,获取了当前的时间。

Date date = new Date();

// 以默认的日期格式打印当前时间,通常我们需要将日期的格式转化为我们所需要的日期格式,通常要用到SimpleDateFormat这个类

System.out.println(date);

// 其实Date类也有很多操作时期的方法,只是几乎都是过时不推荐使用的方法。而使用

// SimpleDateFormate也同样可以让我们很方便的对日期进行处理。

// 对SimpleDateFormate的构造参数,可以参考Api进行设置,而且参数是很灵活的。

SimpleDateFormat sdf = new SimpleDateFormat(

"时区:Z yyyy年MM月dd日 E 第w周 hh:mm:ss");

// 将日期进行格式化

String strDate = sdf.format(date);

System.out.println(strDate);

// 获取构造参数

System.out.println(sdf.toPattern());

}

}

Calendar类:

* Calendar没有构造方法,是通过Calendar.getInstance()方法来获取的,使用了单例设计模式。

* Calendar的出现是因为Date的局限性,Calendar可以很方便的操作关于年,月,日,日期运算等

import java.util.Calendar;

/*

* Calendar没有构造方法,是通过Calendar.getInstance()方法来获取的,使用了单例设计模式。

* Calendar的出现是因为Date的局限性,Calendar可以很方便的操作关于年,月,日,日期运算等

* */

public class CalendarTest {

public static void main(String[] args) {

//test1();

//test2();

//test3();

}

//对日期的一些简单操作。

private static void test2() {

Calendar calendar = Calendar.getInstance();

// 月份是由0开始的下标

String months[] = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月",

"九月", "十月", "十一月", "十二月" };

// 一星期是从星期天开始的,下标从1开始。

String weeks[] = { "", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };

System.out.println((calendar.get(Calendar.YEAR) + "年"));

System.out.println((months[calendar.get(Calendar.MONTH)]));

System.out.println((calendar.get(Calendar.DAY_OF_MONTH) + "日"));

System.out.println((weeks[calendar.get(Calendar.DAY_OF_WEEK)]));

}

// 日期的运算,获取二月有多少天。

private static void test3() {

Calendar calendar = Calendar.getInstance();

// 设置时间为2008年3月1日

calendar.set(2008, 2, 1);

// 让时间减少一天。就是此时二月的最后一天的时间。

calendar.add(Calendar.DAY_OF_MONTH, -1);

System.out.println(calendar.get(Calendar.YEAR)+"年的二月共有"+calendar.get(Calendar.DAY_OF_MONTH)+"天");

}

// 日期的没

private static void test1() {

Calendar calendar = Calendar.getInstance();

System.out.println(calendar);

// 这是输入出的结果,可以看出Calendar对象中封装了很多当前时间的数据,这些数据都是可以直接操作的。

/*

* java.util.GregorianCalendar[time=1362582016704,areFieldsSet=true,

* areAllFieldsSet

* =true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai"

* ,

* offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule

* =null],

* firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2013,MONTH=2,

* WEEK_OF_YEAR

* =10,WEEK_OF_MONTH=2,DAY_OF_MONTH=6,DAY_OF_YEAR=65,DAY_OF_WEEK=4,

* DAY_OF_WEEK_IN_MONTH

* =1,AM_PM=1,HOUR=11,HOUR_OF_DAY=23,MINUTE=0,SECOND=16,MILLISECOND=704,

* ZONE_OFFSET=28800000,DST_OFFSET=0]

*/

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值