簡體   English   中英

java 中的 Calendar.getInstance().get(Calendar.DAY_OF_WEEK) 和 Calander.DAY_OF_WEEK 有什么區別

[英]What's the difference between Calendar.getInstance().get(Calendar.DAY_OF_WEEK) and Calander.DAY_OF_WEEK in java

我是 Kotlin 的新手,在學習課程時,您在當前工作日進行了一些工作。

本課程使用這個 java 代碼來獲取它:

import java.util.*

Calendar.getInstance().get(Calendar.DAY_OF_WEEK)

但我不明白為什么Calendar.DAY_OF_WEEK也不起作用,或者兩者之間有什么區別。 感謝您的解釋

Calendar.DAY_OF_WEEK是一個常數,用於訪問日歷 object 中的字段。

Calendar.getInstance().get(Calendar.DAY_OF_WEEK)使用這個常數從日歷中讀取“星期幾”字段的值。

這有點不尋常的設計。 日歷 class 的設計者沒有為所有日歷字段添加數十種方法,如“getDayOfWeek”、“setDayOfWeek”和“addDayOfWeek”,而是添加了“get”、“set”和“add”方法,這些方法將數字字段標識符作為參數。

請注意,日歷現在被認為是“舊版”class - 對於新代碼,最好使用java.time package 中的類。 獲取星期幾的現代方法是:

DayOfWeek dow = LocalDate.now().getDayOfWeek();

我建議您不要使用來自java.util package 的過時容易出錯的日期/時間 API。 使用來自java.time package 的現代日期/時間API。 Trail 了解更多信息:日期時間

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        System.out.println(LocalDate.now().getDayOfWeek());
        System.out.println(LocalDate.now().getDayOfWeek().getValue());
    }
}

Output:

SUNDAY
7

Calendar.DAY_OF_WEEK 也不起作用,或者兩者之間有什么區別。 感謝您的解釋

Calendar.DAY_OF_WEEK是一個常量,表示getset的字段編號,表示星期幾。

Calendar.DAY_OF_WEEK is simply a constant to tell the Calendar API which info you'd like to request: https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#DAY_OF_WEEK

Calendar.getInstance() 為您提供一個 Calendar 實例。 這會將當前時區和本地時間等因素考慮在內。 get() 方法允許您使用上面的常量獲取信息。 https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#get(int)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM