首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 根據日期計算星期幾:Calendar + SimpleDateFormat

     編輯:程式設計綜合問答

核心代碼

Calendar cal = Calendar.getInstance();
cal.set(2013, Calendar.MAY, 7); // 月份從 0 開始:MAY=4
SimpleDateFormat sdf = new SimpleDateFormat("EEEE", Locale.ENGLISH);
String weekday = sdf.format(cal.getTime()); // "Tuesday"

完整範例:列印一週日期

Calendar cal = Calendar.getInstance();
cal.set(2013, Calendar.MAY, 5); // 從週日開始
SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd.MM.yyyy", Locale.ENGLISH);

for (int i = 0; i < 7; i++) {
    Log.d("Week", sdf.format(cal.getTime()));
    cal.add(Calendar.DAY_OF_MONTH, 1); // 正確增加天數
}

關鍵點

  • Calendar.MONTH 從 0 開始(JANUARY=0)
  • cal.add(Calendar.DAY_OF_MONTH, 1) 而非 DAY_OF_WEEK
  • 設定 Locale.ENGLISH 確保輸出英文星期名
  • Android 8+ (API 26) 建議用 java.time (ThreeTenABP):
    LocalDate date = LocalDate.of(2013, 5, 7);
    DayOfWeek dow = date.getDayOfWeek(); // TUESDAY
    String name = dow.getDisplayName(TextStyle.FULL, Locale.ENGLISH);

格式字元對照

字元含義範例
E星期縮寫Tue
EEEE星期全名Tuesday
u星期數字 (1=週一)2
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved