Calendar,Date常用方法示例

 
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) {
		testCal();

	}
	public static void testDate()
	{
		Date d = new Date();  //生成一个当前时间点的日期对象
		long now = d.getTime();  //1524734400690 返回毫秒值
		System.out.println(now);
		
		Date d2 = new Date(1524747996647L);
		System.out.println(d2);
		//1.毫秒值的意义:相对于1970年1月1日00时00分00秒的时间差
		//2.我要手动设置一个日期,只能先去得到日期对应的毫秒值
		
		//compareTo对比日期时间,如果d2在d之前,那么返回1;如果d2与d是同一时刻,那么返回0,否则返回-1
		int delta = d.compareTo(d2);
		System.out.println(delta);
	}
	public static void testSetTime()
	{
		Date d2 = new Date(1524747996647L);
		System.out.println(d2);
		
		Date d = new Date();
		d.setTime(1524747996647L);
		System.out.println(d);
	}
	public static void testCal()
	{
		Calendar c = Calendar.getInstance();
		System.out.println(c.get(Calendar.YEAR));
		System.out.println(c.get(Calendar.HOUR)); //12小时制
		System.out.println(c.get(Calendar.HOUR_OF_DAY));     //24小时
		System.out.println(c.get(Calendar.MONTH)); //month从0月开始,    1月:0
		System.out.println(c.get(Calendar.DAY_OF_MONTH));
		System.out.println(c.get(Calendar.DAY_OF_WEEK));  //从周日开始
		c.set(2018, 0, 1, 23, 00, 02);
		System.out.println(c.getTime());  //返回日期对象
		c.set(2018, 1, 2);
		System.out.println(c.getTime().getTime());  //返回毫秒值
	}
	public static void testAddD()
	{
		Calendar c = Calendar.getInstance();
		//翻日历
		//向前
		//向后
		c.add(Calendar.DAY_OF_MONTH, 2); //1:向后翻一天;-1:向前翻一天
		System.out.println(c.getTime());
		c.add(Calendar.DAY_OF_MONTH, 0);
		System.out.println(c.getTime());
	}
	public static void testDateFor()
	{
		Calendar c = Calendar.getInstance();
		//yyyy-MM-dd HH:mm:ss
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String s = sdf.format(c.getTime());
		System.out.println(s);
	}
	
	public static void testDF()
	{
		//2018-04-26 17:49:19
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date d = new Date();
		try {
			d = sdf.parse("2018-04-26 17:49:19");
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println(sdf.format(d));
		
		long asDate = d.getTime();  //获得毫秒值
		Calendar c = Calendar.getInstance();
		c.setTime(d);//传了一个Date对象
		Calendar c2 = Calendar.getInstance();
		c2.setTimeInMillis(asDate);//传了一个毫秒值
		
		System.out.println(sdf.format(c.getTime()));
		System.out.println(sdf.format(c2.getTime()));
		//System.out.println(sdf.format(d));
	}

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

public class CalendarTest {

	public static void main(String[] args) {
		testSetDate();

	}
	public static void testCalendar()
	{
		//由于Date不好用,尤其是设置时间时非常不好用,所以jdk在1.1时设计了Calendar类
		Calendar c = Calendar.getInstance();
		//get(int)获取日历对象对应的时间值,如年份、月、日(年里的日、月里的日、周里的日),时、分、秒
		int result = c.get(Calendar.MONTH); //月份从0开始     1月:0
		//Calendar.MONTH   1月从0开始算
		//Calendar.DAY_OF_WEEK    从周日开始算,周日:1
		//Calendar.HOUR   12小时制
		//Calendar.HOUR_OF_DAY  24小时制
		System.out.println(result);
	}
	public static void testSetCalendar()
	{
		Calendar c = Calendar.getInstance();
		//Calendar设置时间很方便很直观
		c.set(Calendar.MONTH, 0);
		//Calendar转换成Date
		System.out.println(c.getTime());
	}
	public static void testAddCalendar()
	{
		//给日期加一天减一天
		/*Date d = new Date();
		long now = d.getTime();
		now = now + 1000L*60*60*24;
		d.setTime(now);
		System.out.println(d);*/
		Calendar c = Calendar.getInstance();
		c.add(Calendar.MONTH, 1);
		System.out.println(c.get(Calendar.MONTH));
	}
	public static void testSimpleFormat()
	{
		//DecimalFormat
		//yyyy-MM-dd HH:mm:ss
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date d = new Date();
		String s = sdf.format(d);
		System.out.println(s);
		Calendar c = Calendar.getInstance();
		s = sdf.format(c.getTime());
		System.out.println(s);
	}
	public static void testSetDate()
	{
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try
		{
			Date d = sdf.parse("2018-04-01 13:59:59"); //格式一致
			System.out.println(d);
		}
		catch(ParseException e)
		{
			e.printStackTrace();
		}
	}

}

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值