Date日期类:
一、Date类:表示特定的瞬间,精确到毫秒。(util包下,不能导入sql包下的)
1、构造方法
[1]public Date()
[2]public Date(long date)
2、成员方法
[1]public long getTime()
[2]public void setTime(long time)
电子产品初始日期:1970年1月1日(UNIX和C语言生日)
Thu Jan
32位系统最多表示68年(即到2038年),64位系统可以表示千亿年
打印8点非0点,是因为北京时区划分在东8区
二、SimpleDateFormat类实现日期和字符串的相互转换
1、DateFormat类的概述
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
是抽象类,所以使用其子类SimpleDateFormat
2、SimpleDateFormat构造方法
[1]public SimpleDateFormat()
[2]public SimpleDateFormat(String pattern)
3、成员方法
[1]public final String format(Date date)
[2]public Date parse(String source)
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateMethod {
public static void main(String[] args) throws ParseException{
/*
* 一、Date类:表示特定的瞬间,精确到毫秒。(util包下,不能导入sql包下的)
1、构造方法
[1]public Date()
[2]public Date(long date)
2、成员方法
[1]public long getTime()
[2]public void setTime(long time)
电子产品初始日期:1970年1月1日(UNIX和C语言生日)/*
Thu Jan 01 08:00:00 CST 1970
32位系统最多表示68年(即到2038年),64位系统可以表示千亿年
打印8点非0点,是因为北京时区划分在东8区
二、SimpleDateFormat类实现日期和字符串的相互转换
1、DateFormat类的概述
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
是抽象类,所以使用其子类SimpleDateFormat
2、SimpleDateFormat构造方法
[1]public SimpleDateFormat()
[2]public SimpleDateFormat(String pattern)
3、成员方法
[1]public final String format(Date date)
[2]public Date parse(String source)
* */
dateMethod();
simpleDateFormat();
calculateBirth();//计算活的年数
}
private static void calculateBirth() throws ParseException {
String birth = "1990/06/08 08:00:00";
String today = "2017/02/28 16:00:00";
SimpleDateFormat sd = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date d1 = sd.parse(birth);
Date d2 = sd.parse(today);
long ms = d2.getTime() - d1.getTime();
System.out.println(ms/1000/60/60/24/365);
}
private static void simpleDateFormat() throws ParseException {
// DateFormat f = new DateFormat();
// DateFormat f = new SimpleDateFormat();
// DateFormat f = DateFormat.getDateInstance();
Date d = new Date();
SimpleDateFormat sd = new SimpleDateFormat();
System.out.println(sd.format(d)); //17-2-27 下午3:01
SimpleDateFormat sd1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println(sd1.format(d)); //2017年02月27日 15:05:48
String s = "2017/02/28 14:00:08";
SimpleDateFormat sd2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date d1 = sd2.parse(s);
System.out.println(d1); //2017年02月27日 15:05:48
}
private static void dateMethod() {
Date d1 = new Date(); //如果没有传参数代表当前时间
System.out.println(d1.getTime());
System.out.println(System.currentTimeMillis());
System.out.println(d1);
d1.setTime(1000);//设置毫秒值
System.out.println(d1);
Date d2 = new Date(0);//如果参数传0代表的是1970年1月1日
System.out.println(d2);
/*
* Thu Jan 01 08:00:00 CST 1970
* 32位系统最多表示68年(即到2038年),64位系统可以表示千亿年
* 打印8点非0点,是因为北京时区划分在东8区
* */
}
}
Calendar日历类:
一、Calendar类:类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
成员方法
[1]public static Calendar getInstance()
int get(int
二、Calendar类的add()和set()方法
成员方法
int field,int
int year,int month,int
import java.util.Calendar;
import java.util.Scanner;
public class CalendarMethod {
public static void main(String[] args) {
/*
* 一、Calendar类:类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
成员方法
[1]public static Calendar getInstance()
[2]public int get(int field)
二、Calendar类的add()和set()方法
成员方法
[1]public void add(int field,int amount)
[2]public final void set(int year,int month,int date)
* */
getYear();
addYear();
calculateYear();//计算平年还是闰年
}
private static void calculateYear() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年分,判断平年还是闰年:");
int year = sc.nextInt();
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);
System.out.println(year + "年" + (c.get(Calendar.MONTH) + 1) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");
c.add(c.DAY_OF_MONTH, -1);
System.out.println(year + "年" + (c.get(Calendar.MONTH) + 1) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");
if(c.get(Calendar.DAY_OF_MONTH) == 29){
System.out.println("您当前输入的是闰年");
}else{
System.out.println("您当前输入的是平年");
}
}
private static void addYear() {
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, -1);
}
private static void getYear() {
Calendar c = Calendar.getInstance();
System.out.println(c);
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH));//以0开始
System.out.println(c.get(Calendar.DAY_OF_MONTH));
System.out.println(c.get(Calendar.DAY_OF_WEEK));//周日为第一天
}
}