搜尋
首頁Javajava教程Java日期類別的常見用法

Java日期類別的常見用法

Apr 23, 2023 pm 09:13 PM
java

日期相關類別

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中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除
如何將Apache的.htaccess配置轉換為Nginx的配置?如何將Apache的.htaccess配置轉換為Nginx的配置?Apr 19, 2025 pm 05:09 PM

將Apache的.htaccess配置轉換為Nginx的配置方法在項目開發中,經常會遇到需要將服務器從Apache遷移到Nginx的情況。 Ap...

在小規模JavaWeb應用中,Dao層對所有人員實體類進行緩存是否可行?在小規模JavaWeb應用中,Dao層對所有人員實體類進行緩存是否可行?Apr 19, 2025 pm 05:06 PM

JavaWeb應用性能優化:Dao層實體類緩存的可行性探討在JavaWeb應用開發中,性能優化一直是開發者關注的重點。尤�...

極坐標下二重積分∫∫ydσ=0的原因是什麼?極坐標下二重積分∫∫ydσ=0的原因是什麼?Apr 19, 2025 pm 05:03 PM

在極坐標系下求解二重積分本文將詳細解答一道關於極坐標下二重積分的題目。題目給出了一個積分區域和被積...

高並發下如何保證出庫腳本任務的唯一性並實時監控其運行狀態?高並發下如何保證出庫腳本任務的唯一性並實時監控其運行狀態?Apr 19, 2025 pm 05:00 PM

在高並發環境下如何保證腳本任務的唯一性和監控其運行狀態?本文將探討如何在集群環境中,確保一個出庫腳...

子類如何通過繼承父類的setName方法設置私有屬性?子類如何通過繼承父類的setName方法設置私有屬性?Apr 19, 2025 pm 04:57 PM

關於子類如何通過繼承父類的setName方法設置私有屬性在編程中,特別是在面向對象編程的語言如Java中,子類與�...

如何解決使用Eclipse Paho的MqttAsyncClient連接本地EMQX時用戶名密碼認證失敗的問題?如何解決使用Eclipse Paho的MqttAsyncClient連接本地EMQX時用戶名密碼認證失敗的問題?Apr 19, 2025 pm 04:54 PM

如何解決使用EclipsePaho的MqttAsyncClient連接本地EMQX時用戶名密碼認證失敗的問題?在使用Java和Eclipse...

公司安全軟件導致應用無法運行?如何排查和解決?公司安全軟件導致應用無法運行?如何排查和解決?Apr 19, 2025 pm 04:51 PM

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

Java如何正確生成並顯示微信小程序帶參數二維碼?Java如何正確生成並顯示微信小程序帶參數二維碼?Apr 19, 2025 pm 04:48 PM

在Java中生成帶參數的微信小程序二維碼並將其顯示在HTML頁面上,是一個常見的需求。本文將詳細探討如何使用J...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具