本篇介绍关于时间日期操作的类Date和Calendar类一些API函数使用。
package com.example.javatest;
import java.util.*;
import java.util.Date;
import java.text.*;
import java.util.Timer;
/**
* Author:W
* 时间日期
* 1.Date类:封装了当前的日期和时间。
* 2.Calendar类:能够设置和获取日期数据的特定部分
* 3.GregorianCalendar类:Calendar类实现了公历日历,GregorianCalendar是Calendar类的一个具体实现。
* 默认用当前的语言环境和时区初始化的GregorianCalendar对象。
*/
public class MainTest {
public static void main(String[] args)
{
System.out.println("===Date类====");
//获取当前时间
Date date1 = new Date();
System.out.println("当前时间date1:"+date1.toString());
Date date2 = date1;
try
{
Thread.sleep(1000*3); // 休眠3秒
date2 = new Date();
System.out.println("当前时间date2:"+date2.toString());
}catch (Exception e)
{
}
//设置日期显示格式
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
System.out.println("当前时间(格式显示):"+ft.format(date2));
System.out.printf("全部日期和时间信息:%tc%n",date2);
//返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
long timeBymilseocnds = date2.getTime();
System.out.println("当前时间(毫秒数):"+ timeBymilseocnds);
//比较两个时间是否相等
System.out.println("date1和date2是否相等:"+date1.compareTo(date2));
System.out.println("date1和date2是否相等:"+date1.equals(date2));
System.out.println("===Calendar类 set/get/add====");
Calendar c1 = Calendar.getInstance();
c1.set(2010,9,10,12,35,55);
System.out.println("c1时间:"+c1.getTime());
//修改年
c1.set(Calendar.YEAR,2008);
//修改月份
c1.set(Calendar.MONTH,12);
//增加天数
c1.add(Calendar.DATE,10);
System.out.println("c1时间(修改后):"+c1.getTime());
System.out.println("===GregorianCalendar类====");
GregorianCalendar gcalendar = new GregorianCalendar();
System.out.println("获取年份:"+gcalendar.get(Calendar.YEAR));
System.out.println("获取月份:"+(gcalendar.get(Calendar.MONTH)+1));
System.out.println("获取日:"+gcalendar.get(Calendar.DATE));
}
}
运行结果如下: