如何在android中使用特定日期获取当前日期名称?
我有日期字符串18-2-2012,从这里如何得到当天的名字,即今天是这样的“星期六”。明天的日期为19-2-2012,日期名称为“星期日”。如何在android中使用特定日期获取当前日期名称?
使用java日期格式。
SimpleDateFormat inFormat = new SimpleDateFormat("dd-MM-yyyy");
Date date = inFormat.parse(input);
SimpleDateFormat outFormat = new SimpleDateFormat("EEEE");
String goal = outFormat.format(date);
您可以使用日历
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)];
int dayOfWeek=bday.get(Calendar.DAY_OF_WEEK); // Returns 3, for Tuesday!
更多的细节去这里.... http://mobile.tutsplus.com/tutorials/android/java_android_date-and-time/
首先日期字符串转换为使用SimpleDateFormat
日期。
然后从该日期开始Calendar
实例。
最后,使用get(Calendar.DAY_OF_WEEK)
从Calendar
中检索星期几。这会给你一个介于1到7之间的整数,代表一周中的某一天。你可以简单地将它映射到一个字符串数组来获得日子。
只需使用一个单一的代码行:
android.text.format.DateFormat.format("EEEE", date);
这是我认为最好的方法。这个问题的作者究竟是要求什么,而且是一条线。 – Forke 2016-11-15 18:10:21
在@维韦克的回答在calendar.get(Calendar.DAY_OF_WEEK)
添加“-1”,因为它返回的数字从1到7,但字符串数组索引为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];
下面的方法将通过以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);
}
希望它有帮助。
这样你永远不会看到SUNDAY ... – dit 2016-04-26 13:14:00
String [] days = new String [] {“”,“SUNDAY”,“MONDAY”,“TUESDAY”,“WEDNESDAY”,“THURSDAY”,“FRIDAY” ,“SATURDAY”} – 2016-05-01 11:32:36