What is the easiest way to get the current day of the week in Android?

前端 未结 11 1481
南方客
南方客 2020-11-27 02:44

What would be the easiest way to get the current day of the week in Android?

相关标签:
11条回答
  • 2020-11-27 03:04

    Using both method you find easy if you wont last seven days you use (currentdaynumber+7-1)%7,(currentdaynumber+7-2)%7.....upto 6

    public static String getDayName(int day){
        switch(day){
            case 0:
                return "Sunday";
            case 1:
                return "Monday";
            case 2:
                return "Tuesday";
            case 3:
                return "Wednesday";
            case 4:
                return "Thursday";
            case 5:
                return  "Friday";
            case 6:
                return "Saturday";
        }
    
        return "Worng Day";
    }
    public static String getCurrentDay(){
        SimpleDateFormat dayFormat = new SimpleDateFormat("EEEE", Locale.US);
        Calendar calendar = Calendar.getInstance();
        return dayFormat.format(calendar.getTime());
    
    }
    
    0 讨论(0)
  • 2020-11-27 03:05

    Just in case you ever want to do this not on Android it's helpful to think about which day where as not all devices mark their calendar in local time.

    From Java 8 onwards:

    LocalDate.now(ZoneId.of("America/Detroit")).getDayOfWeek()
    
    0 讨论(0)
  • 2020-11-27 03:07

    Use the Java Calendar class.

    Calendar calendar = Calendar.getInstance();
    int day = calendar.get(Calendar.DAY_OF_WEEK); 
    
    switch (day) {
        case Calendar.SUNDAY:
            // Current day is Sunday
            break;
        case Calendar.MONDAY:
            // Current day is Monday
            break;
        case Calendar.TUESDAY:
            // etc.
            break;
    }
    
    0 讨论(0)
  • 2020-11-27 03:09
    Calendar calendar = Calendar.getInstance();
    Date date = calendar.getTime();
    // 3 letter name form of the day
    System.out.println(new SimpleDateFormat("EE", Locale.ENGLISH).format(date.getTime()));
    // full name form of the day
    System.out.println(new SimpleDateFormat("EEEE", Locale.ENGLISH).format(date.getTime()));
    

    Result (for today):

    Sat
    Saturday
    

    UPDATE: java8

    LocalDate date = LocalDate.now();
    DayOfWeek dow = date.getDayOfWeek();
    System.out.println("Enum = " + dow);
    
    String dayName = dow.getDisplayName(TextStyle.FULL, Locale.ENGLISH);
    System.out.println("FULL = " + dayName);
    
    dayName = dow.getDisplayName(TextStyle.FULL_STANDALONE, Locale.ENGLISH);
    System.out.println("FULL_STANDALONE = " + dayName);
    
    dayName = dow.getDisplayName(TextStyle.NARROW, Locale.ENGLISH);
    System.out.println("NARROW = " + dayName);
    
    dayName = dow.getDisplayName(TextStyle.NARROW_STANDALONE, Locale.ENGLISH);
    System.out.println("NARROW_STANDALONE = " + dayName);
    
    dayName = dow.getDisplayName(TextStyle.SHORT, Locale.ENGLISH);
    System.out.println("SHORT = " + dayName);
    
    dayName = dow.getDisplayName(TextStyle.SHORT_STANDALONE, Locale.ENGLISH);
    System.out.println("SHORT_STANDALONE = " + dayName);
    

    Result (for today):

    Enum = SATURDAY
    FULL = Saturday
    FULL_STANDALONE = Saturday
    NARROW = S
    NARROW_STANDALONE = 6
    SHORT = Sat
    SHORT_STANDALONE = Sat
    
    0 讨论(0)
  • 2020-11-27 03:10

    you can use that code for Kotlin which you will use calendar class from java into Kotlin

        val day = Calendar.getInstance().get(Calendar.DAY_OF_WEEK)
    
        fun dayOfWeek() {
        println("What day is it today?")
        val day = Calendar.getInstance().get(Calendar.DAY_OF_WEEK)
        println( when (day) {
          1 -> "Sunday"
          2 -> "Monday"
          3 -> "Tuesday"
          4 -> "Wednesday"
          5 -> "Thursday"
          6 -> "Friday"
          7 -> "Saturday"
          else -> "Time has stopped"
       })
     }
    
    0 讨论(0)
  • 2020-11-27 03:13
    public String weekdays[] = new      DateFormatSymbols(Locale.ITALIAN).getWeekdays();
     Calendar c = Calendar.getInstance();
     Date date = new Date();
     c.setTime(date);
     int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
     System.out.println(dayOfWeek);
     System.out.println(weekdays[dayOfWeek]);
    
    0 讨论(0)
提交回复
热议问题