我爲我的天氣應用程序和此API返回的JSON使用了一個API,它給了我這樣的'Date':"date": "2016-08-20"
這是字符串類型。但我想像「星期三」那樣在屏幕上寫下一天。我在網上尋找轉換,但我找不到解決方案。任何人都可以解釋如何做到這一點。提前致謝。順便說這是一個android項目。將字符串類型日期更改爲日期字符串
回答
你只需要2個SimpleDateFormat
TER值,
- 一個解析當前日期的
String
價值,並從中得到Date
對象。 - 第二次從
Date
對象得到String
的值。
輸出
Saturday
代碼
import java.util.*;
import java.text.*;
public class HelloWorld {
public static void main(String[] args) throws ParseException {
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2016-08-20");
String dayOfWeek = new SimpleDateFormat("EEEEE").format(date);
System.out.println(dayOfWeek);
}
}
或 - 一種線路代碼 - 如果我們忽略可讀性
import java.util.*;
import java.text.*;
public class HelloWorld {
public static void main(String[] args) throws ParseException {
System.out.println(new SimpleDateFormat("EEEEE").format(new SimpleDateFormat("yyyy-MM-dd").parse("2016-08-20")));
}
}
謝謝,效果很好。 –
@AhmetUrun很高興它的工作。請參閱編輯的答案。我通過不使用額外的'Calendar'對象來優化它。 –
這可能幫助,
String weekDay = "";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(df.parse(yourDateAsStringHere));
int dayOfWeek= cal.get(Calendar.DAY_OF_WEEK);
if (Calendar.MONDAY == dayOfWeek) {
weekDay = "monday";
} else if (Calendar.TUESDAY == dayOfWeek) {
weekDay = "tuesday";
} else if (Calendar.WEDNESDAY == dayOfWeek) {
weekDay = "wednesday";
} else if (Calendar.THURSDAY == dayOfWeek) {
weekDay = "thursday";
} else if (Calendar.FRIDAY == dayOfWeek) {
weekDay = "friday";
} else if (Calendar.SATURDAY == dayOfWeek) {
weekDay = "saturday";
} else if (Calendar.SUNDAY == dayOfWeek) {
weekDay = "sunday";
}
這不會編譯,並且它是編寫新的SimpleDateFormat(「EEEE」)。格式(新的SimpleDateFormat(「yyyy-MM-dd」)。parse(「 2016年8月20" 日))'。 – Andreas
使用SimpleDateFormat
類,例如:
try {
String inputStr = "2016-08-20";
Date inputDate = new SimpleDateFormat("yyyy-MM-dd").parse(inputStr);
String dayName = new SimpleDateFormat("EEEE").format(inputDate);
} catch (ParseException e) {
e.printStackTrace();
}
您可以使用拆分來標記字符串,但我更喜歡使用日期格式,因爲它是做一個標準的方法過程:
String dateString ="2016-08-20";
SimpleDateFormat formatInput = new SimpleDateFormat("yyyy-MM-dd");
Date date = formatInput.parse(dateString);
SimpleDateFormat formatOutput = new SimpleDateFormat("EEEE");
String day = formatOutput.format(date);
這個想法是創建一個Date
實例從字符串2016-08-20
中的日期開始,然後從Date
實例將其格式化爲星期幾。
- 1. 將字符串更改爲日期
- 2. 如何將日期字符串更改爲其他日期字符串
- 3. 將字符串日期更改爲另一個字符串日期
- 4. 如何將碳日期類型更改爲字符串?
- 5. 在MongoDB中將字符串日期更改爲ISO日期?
- 6. 如何將MySQL日期格式更改爲字符串日期
- 7. 解析日期字符串(字符串轉換爲日期)
- 8. Spring將日期保存爲MongoDB中的字符串 - 無法從類型字符串轉換爲類型日期
- 9. 如何日期字符串轉換爲日期數據類型
- 10. 將字符串轉換爲日期並將日期轉換回字符串
- 11. 轉換日期爲字符串,將字符串和逆變換爲日期SQL
- 12. 數字日期到字符串日期
- 13. 將日期字符串轉換爲帶日期的ISO日期
- 14. Mysql:日期爲字符串
- 15. 如何將字符串日期轉換爲日期類對象
- 16. 從字符串更改日期格式
- 17. 更改字符串到日期
- 18. 更改日期字符串月和
- 19. 更改日期字符串的格式
- 20. 比較類型的日期字符串
- 21. 「按日期」與字符串類型
- 22. ExtJs 3.4:將字符串類型日期設置爲日期字段的值
- 23. 串連日期字符串
- 24. 如何將日期和時間字符串轉換爲日期字符串?
- 25. Javascript - 將序列化日期字符串轉換爲短日期字符串
- 26. 如何將字符串日期轉換爲不同的字符串日期?
- 27. 將日期字符串轉換爲需要的日期字符串格式
- 28. 如何將字符串轉換爲日期和日期字符串?
- 29. 字符串到日期+治療+日期字符串
- 30. 日期到字符串,字符串日期錯誤的Java
沒有轉換你需要搜索,而是搜索**「解析」** –
Okey我尋找 –
我想這就是你需要的.... https://developer.android.com /reference/java/text/SimpleDateFormat.html – Opiatefuchs