java-时间处理:Date,DateFomat,Calendar

1,Date,DateFomat

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {

	public static void main(String[] args) {
		
		//Date 获得当前的系统时间
		Date now = new Date();
		System.out.println(now); //输出结果:Sat Jun 04 17:19:17 CST 2016
		
		//SimpleDateFormat 进行字符串和日期之间的转换
		// 1)将日期转换为字符串
		SimpleDateFormat date = new SimpleDateFormat();
		System.out.println(date.format(now));  //输出结果:16-6-4 下午5:25
		
		// 2) 用字符串模板将日期转换为字符串
		SimpleDateFormat dates = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		System.out.println(dates.format(now)); //输出结果:2016年06月04日 17:29:22
		
		SimpleDateFormat dates2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println(dates2.format(now)); //输出结果:2016-06-04 17:31:03
		System.out.println(dates2.toPattern()); //输出结果:yyyy-MM-dd HH:mm:ss
		
		//将指定的字符串解析为时间
		String s = "2016-06-04 17:31:03";
		SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			Date date2 = time.parse(s);
			System.out.println(date2);  //输出结果:Sat Jun 04 17:31:03 CST 2016
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}

}

2,Calendar

Calendar类是一个抽象类,它为特定的瞬间与一组诸如YEAR,MOUTH,DAY_OF_MOUTH,HOU等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateTest {

	public static void main(String[] args) {
		
		//Calendar提供了一个类方法getInstance,以获得此类型的一个通用的对象。Calendar的getInstance方法返回一个Calendar对象,其日历字段已由当前日期和时间初始化
		Calendar c = Calendar.getInstance();
		System.out.print(c.get(Calendar.YEAR)+"年"); 
		System.out.print(c.get(Calendar.MONTH)+1+"月");
		System.out.print(c.get(Calendar.DAY_OF_MONTH)+"日");
		System.out.print(c.get(Calendar.HOUR)+":");
		System.out.print(c.get(Calendar.MINUTE)+":");
		System.out.print(c.get(Calendar.SECOND)+":");   //输出结果:2016年5月4日5:59:36
		System.out.println(c.get(Calendar.DAY_OF_WEEK)-1);
		
		//一个月之后
		c.add(Calendar.MONTH, 1);
		System.out.println("一个月之后的此时是:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS").format(c.getTime()));
		
		//比较时间的大小
		Calendar a = Calendar.getInstance();
		Calendar b = Calendar.getInstance();
		//设定为 1个月以前,b大,结果显示 1   若b小显示-1  若相等显示为0  
		b.add(Calendar.MONTH, 1);
		System.out.println(b.compareTo(a));  //输出结果为1
		
		//判断2079年的二月是多少天
		Calendar test = Calendar.getInstance();
		test.set(2079, 2, 1);
		test.add(Calendar.DATE, -1);
		System.out.println(test.get(Calendar.DATE)); //28
		
	}

}

注:Calendar.MONTH的初始值为0    所以获得当前月时应+1    而Calendar.DAY_OF_WEEK要-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值