1.
2.
/*
* 类 Date 表示特定的瞬间,精确到毫秒。
*
* 构造方法:
* public Date():默认就是当前时间
* public Date(long date):把给定的毫秒值赋值给日期对象
*
* 成员方法:
* public long getTime():获取毫秒值
* public void setTime(long time):把毫秒值作为参数传递
*/
public class DateDemo {
public static void main(String[] args) {
// 创建对象
Date d = new Date();
System.out.println("d:" + d);
long time = System.currentTimeMillis(); // 获取当前时间的毫秒值
Date d2 = new Date(time);// 把毫秒值转换为日期表示
System.out.println("d2:" + d2);
Date d3 = new Date(3600000);
// 3600000/1000/60/60 = 1个小时
System.out.println("d3:" + d3);
System.out.println("--------------------");
Date d4 = new Date();
// long t = d4.getTime();
// long t2 = System.currentTimeMillis();
// System.out.println(t);
// System.out.println(t2);
d4.setTime(36000000);
System.out.println("d4:" + d4);
}
}
3.
4.
/*
* Calendar:把时间分割成了一个个的年,月,日,时,分,秒等。如果我要得到一个完整的年月日时分秒,需要我们自己拼数据。
*
* 日历对象 --- 年,月,日,时,分,秒
*
* public int get(int field):返回给定日历字段的值。
*/
public class CalendarDemo {
public static void main(String[] args) {
// 创建对象
// 日历字段已由当前日期和时间初始化:
Calendar rightNow = Calendar.getInstance(); // 多态
// 获取年
int year = rightNow.get(Calendar.YEAR);
System.out.println(year);
// 获取月
int month = rightNow.get(Calendar.MONTH);
System.out.println(month + 1);
// 获取日
int date = rightNow.get(Calendar.DATE);
System.out.println(date);
// 获取时
int hour = rightNow.get(Calendar.HOUR);
System.out.println(hour);
// 获取分
int minute = rightNow.get(Calendar.MINUTE);
System.out.println(minute);
// 获取秒
int second = rightNow.get(Calendar.SECOND);
System.out.println(second);
}
}
public class CalendarTest {
public static void main(String[] args) {
// 获取任意一年的二月有多少天?
Calendar c = Calendar.getInstance();
// 设置年月日
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要获取哪一年的2月份:");
int year = sc.nextInt();
c.set(year, 2, 1); // 任意一年的3月1日 月份从0开始
c.add(Calendar.DATE, -1); // 任意一年的2月最后一天
System.out.println(c.get(Calendar.DATE));
}
}
5.
6.
/*
* DateFormat:是针对日期进行格式化和解析的抽象类。
* 所以,我们学习其子类并使用。
* SimpleDateForamt:
* 格式化(日期 -> 文本)
* Date -- String
* public final String format(Date date)
* 模式对象你想要什么就写什么。
* 解析(文本 -> 日期)
* String -- Date
* public Date parse(String source)
* 模式对象必须和给定的字符串匹配。
*/
public class DateFormatDemo {
public static void main(String[] args) throws ParseException {
// Date -- String
Date d = new Date();
// public SimpleDateFormat()
// SimpleDateFormat sdf = new SimpleDateFormat();
// SimpleDateFormat(String pattern)
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
// public final String format(Date date)
String result = sdf.format(d);
System.out.println(result);
System.out.println("-------------------------------------------------");
String s = "2008-08-08 12:23:34";
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// public Date parse(String source)
Date dd = sdf2.parse(s);
System.out.println(dd);
}
}