将字符串转换回java Date

时间:2016-11-10 13:06:33

标签: java android date calendar simpledateformat

我有一个日期字符串,格式为:

  

" Sun Sep 18 00:05:35 GMT + 07:00 2016"

我从Media store Date Taken获取此格式。如何将它转换为java / android中的Date对象?

1 个答案:

答案 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); 函数

的起始和结束索引
相关问题