将字符串转换回java日期
我有一个日期字符串,格式如下: “2016年9月18日星期日00:05:35 GMT+07:00”将字符串转换回java日期,java,android,date,calendar,simpledateformat,Java,Android,Date,Calendar,Simpledateformat,我有一个日期字符串,格式如下: “2016年9月18日星期日00:05:35 GMT+07:00” 我从媒体商店获取此格式。如何在java/android中将其转换为日期对象?可以使用SimpleDataFormat类将字符串中的日期解析为现有的日期对象。通过创建SimpleDataFormat对象并在其构造函数中指定日期模式,您将能够解析存储在字符串中的日期 对于您来说,特定案例代码如下所示: SimpleDateFormat format = new SimpleDateFormat("EE
我从媒体商店获取此格式。如何在java/android中将其转换为日期对象?可以使用
SimpleDataFormat
类将字符串中的日期解析为现有的日期对象。通过创建SimpleDataFormat
对象并在其构造函数中指定日期模式,您将能够解析存储在字符串中的日期
对于您来说,特定案例代码如下所示:
SimpleDateFormat format = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy");
Date date = null;
try {
date = format.parse(dateAsString);
} catch (ParseException e) {
e.printStackTrace();
}
从图案中可以看出:
EEE-一周中的三个字母(例如,星期日、星期一、星期二、星期三、星期四、星期五、星期六)
MMM一年中的一个月(介于0和11之间)
dd-月日
HH小时(00到23之间)
mm分钟(00到59之间)
ss-秒(00到59之间)
z-时区(在您的情况下,为通用时区-GMT)
yyyy-年
此外,如果您还想将此日期
对象传递给某个日历
对象,您还需要在那里设置时区
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+07:00"));
calendar.setTime(date);
但是,如果时区发生更改,则可以从字符串中提取时区部分:
String timeZone = dateAsString.substring(19, 28);
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone(timeZone));
calendar.setTime(date);
只需小心
substring()
函数的起始索引和结束索引,您必须使用class。它是否有效?发布前搜索堆栈溢出。这已经被询问了数百次。GMT+07的格式字符串是什么:00@PraveenPandey我已经更新了我的答案。看看它,让我知道它是否有效