我为我的天气应用程序和此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. 在MongoDB中将字符串日期更改为ISO日期?
- 3. 将字符串转换为日期并将日期转换回字符串
- 4. 数字日期到字符串日期
- 5. 将日期字符串转换为带日期的ISO日期
- 6. Mysql:日期为字符串
- 7. 更改字符串到日期
- 8. 更改日期字符串的格式
- 9. 比较类型的日期字符串
- 10. 串连日期字符串
- 11. 将日期字符串转换为需要的日期字符串格式
- 12. Javascript - 将序列化日期字符串转换为短日期字符串
- 13. 如何将字符串转换为日期和日期字符串?
- 14. 日期到字符串,字符串日期错误的Java
- 15. 字符串到日期+治疗+日期字符串
- 16. 日期到字符串<->字符串到日期
- 17. Pyspark更改列的类型从日期字符串
- 18. Golang:字符串日期日期
- 19. 如何解析字符串日期到MongoDB日期类型
- 20. 角度绑定字符串日期到输入类型日期
- 21. 将字符串转换为日期
- 22. 将字符串转换为日期php
- 23. 将字符串转换为日期
- 24. 将字符串转换为IST日期
- 25. 将日期转换为字符串
- 26. Swift将字符串转换为日期
- 27. 将日期转换为字符串
- 28. 将日期转换为字符串SQL
- 29. NSDateformatter将日期转换为字符串
- 30. Bash - 将字符串转换为日期
没有转换你需要搜索,而是搜索**“解析”** –
Okey我寻找 –
我想这就是你需要的.... https://developer.android.com /reference/java/text/SimpleDateFormat.html – Opiatefuchs