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]
		 */
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值