【问题标题】:Android: converting String in DateAndroid:在日期中转换字符串
【发布时间】:2013-09-03 13:37:49
【问题描述】:

我尝试通过 Date 对象将字符串日期转换为其他字符串日期。但是在运行时我有关于错误解析的异常。它有什么问题?

String strDate= "Tue, 03 Sep 2013 12:45:23 +0300";
try{
    Date d = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z").parse(strDate);
    strDate = new SimpleDateFormat("dd MM yyyy HH:mm").format(d);
    System.out.println(strDate);
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

【问题讨论】:

    标签: android string date


    【解决方案1】:

    试试这个:

    String dtStart = "2013-09-02T17:40:36+00:00";  
    SimpleDateFormat  format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");  
     Date date;
    try {  
       date = format.parse(dtStart);  
    } catch (ParseException e) {  
        // TODO Auto-generated catch block  
        e.printStackTrace();  
    }
    
    SimpleDateFormat  dateformat = new SimpleDateFormat("EEE MMM,dd yyyy HH:mm aa");  
    try {  
     String datetime = dateFormat.format(date);
     System.out.println("Current Date Time : " + datetime); 
    } catch (ParseException e) {  
        // TODO Auto-generated catch block  
        e.printStackTrace();  
    }
    

    【讨论】:

    • 但我需要完全转换“Tue, 03 Sep 2013 12:45:23 +0300”
    • SimpleDateFormat dateformat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z"); try { String datetime = dateFormat.format(date); System.out.println("Current Date Time : " + datetime); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }
    • 在您的代码中,您获取了日期(日期类型)并转换为字符串。我需要相反的操作。我在问题的顶部写了它。
    • String strDate = "Tue, 03 Sep 2013 12:45:23 +0300 "; SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z"); Date date; try { date = format.parse(strDate); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } SimpleDateFormat dateformat = new SimpleDateFormat("dd MM yyyy HH:mm"); try { String datetime = dateFormat.format(date); System.out.println("Current Date Time : " + datetime); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }
    • datetime 变量值是您需要的,只需复制粘贴代码...我将您想要的字符串转换为 Date 类型,然后再次转换回您想要的格式的字符串。
    【解决方案2】:

    我有一个俄语语言环境。所以我只需要指出正确的语言环境:

    Date d = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH).parse(strDate);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多