Java--第2天--日期(二)

  • getTime

getTime会得到一个long类型的整数,表示从1970年开始,每经历一次就加一毫秒

  • System.CurrentTimeMillis()

当前日期的毫秒数(new Date.getTime()和System.currentTimeMillis()是一样的)

package date;

import java.util.Date;

public class DateDemo1 {
	public static void main(String[] args) {
		Date date = new Date();
		// 获取当前日期的毫秒数
		System.out.println(""+date.getTime());
		//通过System.currentTimeMillis()获取当前日期的毫秒数
		System.out.println(""+System.currentTimeMillis());
	}
}

输出结果

1547640441300
1547640441300

  • Calendar

日历类,常用于翻日历,(比如说下个月的今天是多久)
add:在原日期上增加年/月/日
set:直接设置年/月/日

package date;

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

public class DateDemo2 {
	private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	public static void main(String[] args) {
		//采用单例模式获取日期对象
		Calendar c = Calendar.getInstance();
		//通过日历对象得到日期对象
		Date d = c.getTime();
		System.out.println("当前日期:\t"+format(c.getTime()));
		
		//下个月的今天
		c.setTime(d);
		c.add(Calendar.MONTH,1);
		System.out.println("下个月的今天:\t"+format(c.getTime()));
		
		//去年的今天
		c.setTime(d);
		c.add(Calendar.YEAR, -1);
		System.out.println("去年的今天:\t"+format(c.getTime()));
		
		 // 上个月的第三天
        c.setTime(d);
        c.add(Calendar.MONTH, -1);
        c.set(Calendar.DATE, 3);
        System.out.println("上个月的第三天:\t" +format(c.getTime()));
		
	}
	private static String format(Date time) {
		return sdf.format(time);
	}

}


输出的结果:

当前日期: 2019-01-01 20:53:14
下个月的今天: 2019-02-01 20:53:14
去年的今天: 2018-01-01 20:53:14
上个月的第三天: 2018-12-03 20:53:14

练习:

找出下个月的倒数第3天是哪天?

答案:

package date;

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

/**
 * 找出下个月的倒数第3天是哪天
 * @author eleven
 *return :思路:先回到下下个月,设置到月初,在往前推3天。
 */
public class DateDemo3 {
	//设置时间格式
	private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	
	public static void main(String[] args) {
		//采用单例模式获取日期对象Calendar.getInstance()
		Calendar c = Calendar.getInstance();
		System.out.println("今天是:"+format(c.getTime()));
		//先到下下个月
		c.add(Calendar.MONTH, 2);
		//设置到月初
		c.set(Calendar.DATE, 1);
		//在往前推3天
		c.add(Calendar.DATE, -3);
		//下个月倒数第三天是:
		System.out.println("下个月倒数第三天:"+format(c.getTime()));
		
	}
	private static String format(Date time) {
		return sdf.format(time);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_41293896/article/details/86514675