我正在检索我的Android应用程序的JSON对象。他们有两个字段:date
和time
。
在布局上,我需要从这两个字段中提取以下字符串:
- 星期几(例如星期一)
- 每月的某一天(例如21日)
- 月(例如四月)
- 年(例如2014年)
- 小时(例如17)
- 分钟(例如35)
醇>
字段为date="2014-04-21"
,time="17:35:00"
我怎么能这样做?
答案 0 :(得分:6)
有一个类SimpleDateFormat可以解析你指定的日期和时间
以下是您的问题的示例:
String string = "2014-04-21 17:35:00";
Calendar calender = Calendar.getInstance();
calender.setTime(new SimpleDateFormat("yyyy-MM-d k:m:s").parse(string));
System.out.println("Day of week: " + calender.get(Calendar.DAY_OF_WEEK)); //2 is monday
System.out.println("Day of the month: " + calender.get(Calendar.DAY_OF_MONTH));
System.out.println("Month: " + calender.get(Calendar.MONTH)); //0 is january 3 is april
System.out.println("Year: " + calender.get(Calendar.YEAR));
System.out.println("Hour: " + calender.get(Calendar.HOUR_OF_DAY));
System.out.println("Minutes: " + calender.get(Calendar.MINUTE));
字符串是json的字符串结果
答案 1 :(得分:1)
我认为日期和时间是由空格分隔的。 使用此:
String dateString = "2014-09-13 17:35:00";
String part[] = dateString.split(" ");
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date formattedDate;
try {
formattedDate = (Date) format.parse(part[0]);
Calendar cal = Calendar.getInstance();
cal.setTime(formattedDate);
int month = cal.get(Calendar.MONTH); // Month
int day = cal.get(Calendar.DAY_OF_MONTH);// Day of the month
int year = cal.get(Calendar.YEAR);
int day_of_week = cal.get(Calendar.DAY_OF_WEEK);
String time[] = part[1].split(":");
// Your desired values are in time[0], time[1], time[2]
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}