如何在android中使用特定日期获取当天的名字?

时间:2012-02-18 12:10:22

标签: android

我有日期字符串18-2-2012,从这个如何得到当天的名字,即今天是“星期六”这样的。明天的日期为19-2-2012,日期名称为“ sunday ”。

9 个答案:

答案 0 :(得分:49)

使用java日期格式。

SimpleDateFormat inFormat = new SimpleDateFormat("dd-MM-yyyy");
Date date = inFormat.parse(input);
SimpleDateFormat outFormat = new SimpleDateFormat("EEEE");
String goal = outFormat.format(date); 

答案 1 :(得分:10)

您可以使用日历

            Calendar calendar = Calendar.getInstance();

            calendar.setTime(date_your_want_to_know);

            String[] days = new String[] { "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" }

            String day = days[calendar.get(Calendar.DAY_OF_WEEK)];

答案 2 :(得分:6)

只需使用一行代码:

android.text.format.DateFormat.format("EEEE", date);

答案 3 :(得分:2)

int dayOfWeek=bday.get(Calendar.DAY_OF_WEEK);  // Returns 3, for Tuesday!

了解更多详情,请点击此处.... http://mobile.tutsplus.com/tutorials/android/java_android_date-and-time/

答案 4 :(得分:0)

首先使用SimpleDateFormat将日期字符串转换为日期。

然后从该日期创建一个Calendar实例。

最后,使用Calendarget(Calendar.DAY_OF_WEEK)检索星期几。这将为您提供1到7之间的整数,表示星期几。你可以简单地将它映射到一个字符串数组来获取日期。

答案 5 :(得分:0)

在@ vivek的回答中,在calendar.get(Calendar.DAY_OF_WEEK)添加“ - 1”,因为它返回1到7之间的数字,但String数组的索引从0到6。

calendar.setTime(date_your_want_to_know);

String[] days = new String[] { "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" }

String day = days[calendar.get(Calendar.DAY_OF_WEEK)-1];

答案 6 :(得分:0)

下面的方法将通过以String格式传递日期来返回日期。 如果发生异常,则返回null。

private String getDay(String date_in_string_format){        
        DateFormat df = DateFormat.getDateInstance();
        Date date;
        try {
             date = df.parse(date_in_string_format);
        } catch (Exception e) {
            Log.e("Error:","Exception " + e);
            return null;
        }
        return new SimpleDateFormat("EEEE").format(date);
    }

希望它有所帮助。

答案 7 :(得分:0)

试试这段代码。希望它会奏效。 这对我有用。

ViewStructure

答案 8 :(得分:0)

pip install --upgrade pyarrow