最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java如何判斷Date是上午還是下午

 更新時(shí)間:2025年03月08日 11:00:46   作者:早起的年輕人  
文章介紹了三種在Java中判斷Date對(duì)象是上午還是下午的方法:使用Calendar類、使用Java 8的java.time包以及使用SimpleDateFormat進(jìn)行格式化輸出,每種方法都有代碼示例和解釋,幫助開發(fā)者根據(jù)具體需求選擇合適的方法

java判斷Date是上午還是下午

我要用Java生成表格統(tǒng)計(jì)信息,如下圖所示:

所以就誕生了本文的內(nèi)容。

在 Java 里,判斷 Date 對(duì)象代表的時(shí)間是上午還是下午有多種方式,下面為你詳細(xì)介紹不同的實(shí)現(xiàn)方法。

方式一:使用 java.util.Calendar

Calendar 類可以用來獲取 Date 對(duì)象中的各個(gè)時(shí)間字段,通過 HOUR_OF_DAY 字段能判斷是上午還是下午。

import java.util.Calendar;
import java.util.Date;

public class DateAmPmCheckWithCalendar {
    public static void main(String[] args) {
        // 創(chuàng)建一個(gè) Date 對(duì)象
        Date currentDate = new Date();

        // 獲取 Calendar 實(shí)例,并將 Date 對(duì)象設(shè)置進(jìn)去
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(currentDate);

        // 獲取 24 小時(shí)制的小時(shí)數(shù)
        int hour = calendar.get(Calendar.HOUR_OF_DAY);

        if (hour < 12) {
            System.out.println("上午");
        } else {
            System.out.println("下午");
        }
    }
}

代碼解釋

  1. 首先創(chuàng)建了一個(gè) Date 對(duì)象 currentDate 表示當(dāng)前時(shí)間。
  2. 接著獲取 Calendar 實(shí)例,并使用 setTime 方法將 currentDate 設(shè)置進(jìn)去。
  3. 通過 get(Calendar.HOUR_OF_DAY) 獲取 24 小時(shí)制的小時(shí)數(shù)。
  4. 根據(jù)小時(shí)數(shù)是否小于 12 判斷是上午還是下午。

方式二:使用 java.time 包(Java 8 及以后)

Java 8 引入的 java.time 包提供了更簡(jiǎn)潔和強(qiáng)大的日期時(shí)間處理功能。

可以將 Date 轉(zhuǎn)換為 ZonedDateTime 再進(jìn)行判斷。

import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Date;

public class DateAmPmCheckWithJavaTime {
    public static void main(String[] args) {
        // 創(chuàng)建一個(gè) Date 對(duì)象
        Date currentDate = new Date();

        // 將 Date 轉(zhuǎn)換為 ZonedDateTime
        ZonedDateTime zonedDateTime = currentDate.toInstant().atZone(ZoneId.systemDefault());

        // 獲取 24 小時(shí)制的小時(shí)數(shù)
        int hour = zonedDateTime.getHour();

        if (hour < 12) {
            System.out.println("上午");
        } else {
            System.out.println("下午");
        }
    }
}

代碼解釋

  1. 創(chuàng)建 Date 對(duì)象 currentDate。
  2. 使用 toInstant() 方法將 Date 轉(zhuǎn)換為 Instant,再通過 atZone(ZoneId.systemDefault()) 轉(zhuǎn)換為 ZonedDateTime。
  3. 調(diào)用 getHour() 方法獲取 24 小時(shí)制的小時(shí)數(shù)。
  4. 根據(jù)小時(shí)數(shù)判斷是上午還是下午。

方式三:使用 SimpleDateFormat 格式化輸出判斷

可以使用 SimpleDateFormatDate 格式化為包含上午/下午標(biāo)識(shí)的字符串,然后進(jìn)行判斷。

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateAmPmCheckWithFormat {
    public static void main(String[] args) {
        // 創(chuàng)建一個(gè) Date 對(duì)象
        Date currentDate = new Date();

        // 定義日期格式,使用 "a" 表示上午/下午標(biāo)識(shí)
        SimpleDateFormat sdf = new SimpleDateFormat("a");

        // 格式化日期
        String amPm = sdf.format(currentDate);

        if ("上午".equals(amPm)) {
            System.out.println("上午");
        } else {
            System.out.println("下午");
        }
    }
}

代碼解釋

  1. 創(chuàng)建 Date 對(duì)象 currentDate。
  2. 創(chuàng)建 SimpleDateFormat 對(duì)象,指定格式為 "a",它會(huì)輸出 上午下午。
  3. 使用 format 方法將 Date 格式化為字符串。
  4. 通過比較字符串判斷是上午還是下午。這種方式的語言顯示受系統(tǒng)默認(rèn)語言環(huán)境影響。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring與Web整合實(shí)例

    Spring與Web整合實(shí)例

    下面小編就為大家?guī)硪黄猄pring與Web整合實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • springboot集成websocket的四種方式小結(jié)

    springboot集成websocket的四種方式小結(jié)

    本文主要介紹了springboot集成websocket的四種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • SpringBoot中整合消息服務(wù)組件的方法

    SpringBoot中整合消息服務(wù)組件的方法

    本文介紹了消息服務(wù)組件的基本概念,以及如何在SpringBoot中整合常見的消息服務(wù)組件,如ActiveMQ、RabbitMQ和Kafka,我們探討整合消息服務(wù)組件在實(shí)際應(yīng)用場(chǎng)景中的優(yōu)勢(shì),感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • Java枚舉之EnumSet詳解

    Java枚舉之EnumSet詳解

    這篇文章主要介紹了Java枚舉之EnumSet詳解,使用時(shí)進(jìn)行與或運(yùn)算,但是定義多了之后,會(huì)很亂、臃腫,編寫容易出錯(cuò),EnumSet可以實(shí)現(xiàn)類似的功能,且使用起來很簡(jiǎn)潔,需要的朋友可以參考下
    2023-12-12
  • Java的方法詳解

    Java的方法詳解

    方法類似于C語言中的函數(shù),是包含特定功能的代碼塊,必須定義在類中、main方法外部,本質(zhì)上是一個(gè)造輪子的過程—— 將重復(fù)使用的邏輯包裝成方法,需要時(shí)直接調(diào)用,無需重復(fù)編寫,下面通過示例詳解Java的方法,感興趣的朋友一起看看吧
    2026-02-02
  • Java基礎(chǔ)之SpringBoot整合knife4j

    Java基礎(chǔ)之SpringBoot整合knife4j

    Swagger現(xiàn)在已經(jīng)成了最流行的接口文檔生成與管理工具,但是你是否在用的時(shí)候也在吐槽,它是真的不好看,接口測(cè)試的json數(shù)據(jù)沒法格式化,測(cè)試地址如果更改了還要去改配置,接口測(cè)試時(shí)增加token驗(yàn)證是真的麻煩…針對(duì)Swagger的種種缺點(diǎn),Knife4j就呼之欲出了.需要的朋友可以參考下
    2021-05-05
  • spring?Bean創(chuàng)建的完整過程記錄

    spring?Bean創(chuàng)建的完整過程記錄

    這篇文章主要給大家介紹了關(guān)于Spring中Bean實(shí)例創(chuàng)建的相關(guān)資料,文中通過實(shí)例代碼和圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • 利用HttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法

    利用HttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄肏ttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • Java實(shí)現(xiàn)FTP上傳到服務(wù)器

    Java實(shí)現(xiàn)FTP上傳到服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)FTP上傳到服務(wù)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Java實(shí)現(xiàn)Twitter的分布式自增ID算法snowflake

    Java實(shí)現(xiàn)Twitter的分布式自增ID算法snowflake

    這篇文章主要介紹了Java實(shí)現(xiàn)Twitter的分布式自增ID算法snowflake,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論

仲巴县| 德阳市| 静宁县| 霍州市| 昌邑市| 开鲁县| 什邡市| 恩平市| 龙游县| 钟山县| 谢通门县| 固镇县| 胶南市| 商水县| 东乡| 宜兰市| 衡南县| 恭城| 柘荣县| 洛宁县| 垣曲县| 周宁县| 拜城县| 鄂尔多斯市| 茂名市| 镇巴县| 绥江县| 南京市| 泰州市| 乐陵市| 峨边| 福安市| 龙江县| 应城市| 云和县| 贡觉县| 高密市| 苍山县| 贵德县| 松滋市| 灵台县|