我有一个日期字符串,格式为:
" Sun Sep 18 00:05:35 GMT + 07:00 2016"
我从Media store Date Taken获取此格式。如何将它转换为java / android中的Date对象?
答案 0 :(得分:2)
可以使用var updates = {};
updates['/users/' + userId] = newUserData;
return firebase.database().ref().update(updates);
类将String中的日期解析为现有日期对象。通过创建SimpleDateFormat
对象并在其构造函数中指定日期模式,您将能够解析存储在字符串中的日期。
对于您的特定案例代码将如下所示:
SimpleDateFormat
从模式可以看出:
EEE - 三个字母中的星期几(例如太阳,周一,周二,周三,周四,周五,周六)
MMM - 一年中的某个月(0到11之间)
dd - 每月的某一天
HH - 小时(00至23之间)
mm - 分钟(介于00和59之间)
ss - 秒(00到59之间)
z - TimeZone(在您的情况下,一般时区 - GMT)
yyyy - 年
此外,如果您还想将此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();
}
对象传递给某个Date
对象,则还需要在此处设置时区。
Calendar
但是,如果您更改了TimeZone,则可以从字符串中提取timeZone部分:
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);
函数