date parsing String - >日期

时间:2018-02-10 10:32:46

标签: android datetime

我有一个约会(作为一个字符串):“Sat,24 Feb 2018 05:00:00 GMT” 然后我尝试将该值转换为Date对象,如下所示:

open fun toDate(timestamp: String) : Date {
        val data = dateFormat.parse(timestamp)
        Log.d(TAG, "timestamp=$timestamp, data=$data")
        return data
    } 

输出

timestamp=Sat, 24 Feb 2018 05:00:00 GMT, data=Mon Feb 21 00:00:00 GMT+01:00 2101

为什么输出日期搞砸了?

更新:我的日期时间格式为: EEE,dd MMM yyyy HH:mm:ss

1 个答案:

答案 0 :(得分:0)

到日期的字符串

String dtStart = "2018-02-02T09:27:37Z";  
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");  

try {  
Date date = format.parse(dtStart);  
System.out.println(date);  
} catch (ParseException e) {
e.printStackTrace();  
}

您可以使用此方法从字符串中获取日期

Date date = stringToDate(date, "EEE MMM d HH:mm:ss zz yyyy");        

private Date stringToDate(String aDate,String aFormat) {

  if(aDate==null) return null;
  ParsePosition pos = new ParsePosition(0);
  SimpleDateFormat simpledateformat = new SimpleDateFormat(aFormat);
  Date stringDate = simpledateformat.parse(aDate, pos);
  return stringDate;            

  }