首頁 > Java > java教程 > Java日期類別的常見用法

Java日期類別的常見用法

王林
發布: 2023-04-23 21:13:06
轉載
1114 人瀏覽過

日期相關類別

1.Date類別

在標準Java類別庫中包含一個Date類,它的物件表示一個特定的瞬間,精確到毫秒。在網路商城下單時,在對報銷單進行審核時,都需要取得目前的時間,透過Date類別就可以完成。

範例:Date類別的使用

package li.normalclass.date;
 
import java.util.Date;
 
public class TestDate {
    public static void main(String[] args) {
        //获取当前的时间 格式为 yyyyMMddhhmmss
        Date date = new Date();//相当于new Date(System.currentTimeMillis())
        //操作当前的时间
        System.out.println(date.toString());//Sat Aug 06 19:15:28 CST 2022
        System.out.println(date.toLocaleString());//2022-8-6 19:16:06
        System.out.println(System.currentTimeMillis());//计算从1970年1月1日 0:00:00到目前为止的毫秒数
        System.out.println(date.getYear());//122  =2022-1900
        System.out.println(date.getMonth());//7   0-11   现在是八月
        System.out.println(date.getDate());//6 日
        System.out.println(date.getDay());//6   当前为星期六   注:星期日为0
        System.out.println(date.getHours());//19    当前为19点
        System.out.println(date.getMinutes());//26  当前为26分
        System.out.println(date.getSeconds());//16  当前为16秒
        System.out.println(date.getTime());//1659785176358  计算从1970年1月1日 0:00:00到目前为止的毫秒数
 
        //获取当前的时间 格式为 yyyyMMdd
        java.sql.Date sdate = new java.sql.Date(System.currentTimeMillis());
        System.out.println(sdate.toString());//2022-08-06
 
        java.sql.Date sdate2 = java.sql.Date.valueOf("1896-9-10");
        System.out.println(sdate2.toString());//1896-09-10
 
    }
}
登入後複製

查看API文件大家可以看到其實Date類別中的許多方法已經過時了。 JDK1.1之前的Date包含了日期操作、字串轉換為物件等操作。經過JDK1.1之後,日期操作類別一般使用Calendar類,而字串的轉換 使用DateFormat類別。

2.DateFormat類別

Format:格式

DateFormat是一個抽象類,一般使用它的子類別SimpleDateFormat類別來實作。主要作用就是把時間物件轉換為指定格式的字串。反之,就是把指定格式的字串轉換成時間物件。

字串----->日期

日期----->字串

範例:

package li.normalclass.date;
 
import java.text.*;
import java.util.Date;
 
/**
 * 主要操作:
 *   DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定识别的格式
 *
 *   Date date = sdf.parse(strdate);//将字符串转换成日期
 *
 *   String strdate2 = sdf.format(date);//将日期转换成字符串
 */
public class TestDateFormat {
    public static void main(String[] args) throws ParseException {
        String strdate = "1999-12-23 12:12:12";//字符串
 
        //String---->Date
        //DateFormat是抽象类,要实例化只能引用它的子类SimpleDateFormat
        DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定识别的格式
        Date date = sdf.parse(strdate);//将字符串转换成日期
 
        String strdate2 = sdf.format(date);//将日期转换成字符串
        System.out.println(strdate2);
        
    }
}
登入後複製

Java日期類別的常見用法

3.Calendar類別

#Calendar:日曆

範例:

package li.normalclass.date;
 
import java.util.Calendar;
import java.util.GregorianCalendar;
 
public class TestCalendar {
    public static void main(String[] args) {
        //获取当前的时间
        Calendar cal = new GregorianCalendar();
        // 输出当前的时间
        System.out.println(cal);
        //java.util.GregorianCalendar[time=1659791839017,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,MONTH=7,WEEK_OF_YEAR=32,WEEK_OF_MONTH=1,DAY_OF_MONTH=6,DAY_OF_YEAR=218,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=17,SECOND=19,MILLISECOND=17,ZONE_OFFSET=28800000,DST_OFFSET=0]
 
        System.out.println(cal.get(Calendar.YEAR));//2022
        System.out.println(cal.get(Calendar.MONTH));//7   0~11  7代表8月
        System.out.println(cal.get(Calendar.DATE));//6   代表6号
        System.out.println(cal.get(Calendar.DAY_OF_WEEK));//7  代表周六  从周日为1开始计算一周
 
        //改变时间
        cal.set(Calendar.DATE,1);//直接指定日期  1号
        cal.set(Calendar.MONTH,1);//直接指定月数  2月
        cal.add(Calendar.DATE,2);//在设置的日期上再加上两天
        System.out.println(cal.get(Calendar.YEAR));//2022 --  22年
        System.out.println(cal.get(Calendar.MONTH));//1 --  2月
        System.out.println(cal.get(Calendar.DATE));//3 --  3号
        System.out.println(cal.get(Calendar.DAY_OF_WEEK));//5 -- 周四
        System.out.println(cal.getActualMaximum(Calendar.DATE));//28 -- 指定月一共有多少天
    }
 
}
登入後複製

以上是Java日期類別的常見用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板