एंड्रॉइड में सप्ताह के वर्तमान दिन को प्राप्त करने का सबसे आसान तरीका क्या है?


114

एंड्रॉइड में सप्ताह के वर्तमान दिन को प्राप्त करने का सबसे आसान तरीका क्या होगा?

जवाबों:


267

जावा Calendarवर्ग का उपयोग करें ।

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;
}

यह एंड्रॉइड नहीं बल्कि जावा में लागू है। "कैलेंडर" वर्ग java.util पैकेज से है
नवीन इसरानी

7
@ नवीन ईसरानी आपका क्या मतलब है? मैं java.util का उपयोग करने में कोई समस्या नहीं देख सकता। कैलेंडर एपीआई स्तर 1 में जोड़ा गया है
अविश्वसनीय

33
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()));

परिणाम (आज के लिए):

बैठ गया
शनिवार

अद्यतन: 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);

परिणाम (आज के लिए):

Enum = SATURDAY
FULL = Saturday
FULL_STANDALONE = Saturday
NARROW = S
NARROW_STANDALONE = 6
SHORT = Sat
SHORT_STANDALONE = Sat


16

Java 8 datetime APIने इसे इतना आसान बना दिया:

LocalDate.now().getDayOfWeek().name()

आप के रूप में दिन का नाम वापस कर देंगे String

आउटपुट: THURSDAY


2
अच्छा! लेकिन एंड्रॉइड में एपीआई लेवल 26 की आवश्यकता है
14

11
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]);

9

यदि आप कैलेंडर क्लास का उपयोग नहीं करना चाहते हैं तो आप इसका उपयोग कर सकते हैं

String weekday_name = new SimpleDateFormat("EEEE", Locale.ENGLISH).format(System.currentTimeMillis());

अर्थात, परिणाम है,

"Sunday"

5

वर्तमान दिन प्राप्त करने के लिए यहां मेरा सरल तरीका है

public String getCurrentDay(){

    String daysArray[] = {"Sunday","Monday","Tuesday", "Wednesday","Thursday","Friday", "Saturday"};

    Calendar calendar = Calendar.getInstance();
    int day = calendar.get(Calendar.DAY_OF_WEEK);

    return daysArray[day];

}

2
मुझे यकीन नहीं है कि क्यों, लेकिन मेरे मामले में दिन की संख्या 1 से शुरू होती है, 0. से नहीं। इसलिए, मेरी सरणी इस तरह दिखती है:String[] days = {"?", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
डॉ। फेलोव

आप "से छुटकारा पा सकते हैं?" फिर जैसेint day = calendar.get(Calendar.DAY_OF_WEEK) - 1;
कादिर हुसैन

4

यदि आप पिछले सात दिनों का उपयोग नहीं करते हैं, तो आप दोनों विधि का उपयोग करना आसान है (currentdaynumber + 7-1)% 7, (currentdaynumber + 7-2)% 7 ..... 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());

}

1

आप कोटलिन के लिए उस कोड का उपयोग कर सकते हैं जिसे आप जावा से कैलेंडर क्लास को कोटलिन में उपयोग करेंगे

    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"
   })
 }

-10

जैसा कि ग्रेगोरियन कैलेन्डर क्लास में DAY_OF_WEEK एक स्थिर फ़ील्ड है जिसे आप सीधे मूर्खों के रूप में एक्सेस कर सकते हैं

int dayOfWeek = GregorianCalender.DAY_OF_WEEK;


8
नहीं, बस नहीं। नं।
पक्मते

आप आसानी से जावा और कोटलिन के लिए भी कैलेंडर क्लास का उपयोग कर सकते हैं
महमूद जहरान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.