将Mon Sep 17 05:52:14 EDT 2018类型日期格式转换为简单的Date and Time Android

时间:2018-09-17 11:25:02

标签: android

我目前正在使用Firestore开发聊天应用程序。当我尝试从Firestore文档获取时间戳时,
日期date=documentSnapshot.getDate(fieldvalue1,DocumentSnapshot.ServerTimestampBehavior.ESTIMATE); 那么它会以这种格式返回“美国东部时间2018年9月17日05:52:14”这种日期的日期。我无法将该日期转换为简单日期格式。请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以使用EEE MMM dd HH:mm:ss z yyyy模式从字符串中检索日期。就像

 SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
 try {
      Date date2 = format.parse(dateStr);         
     } catch (ParseException e) {
      e.printStackTrace();
 }

编辑

您可以将印度时间转换为

SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
    try {
        format.setTimeZone(TimeZone.getTimeZone("GMT-04:00"));    //for EDT

        Date date2 = format.parse(dateStr);

        TimeZone tz = TimeZone.getTimeZone("GMT+5:30");   //for Indian Time
        format.setTimeZone(tz);
        String result = format.format(date2);


    } catch (ParseException e) {
        e.printStackTrace();
    }