【问题标题】:date parsing String -> Date日期解析字符串 -> 日期
【发布时间】:2018-02-10 10:32:46
【问题描述】:

我有一个日期(作为字符串):“星期六,2018 年 2 月 24 日 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

【问题讨论】:

  • 你的dateFormat 格式是什么?
  • @algrid 问题已更新

标签: android datetime


【解决方案1】:

字符串到日期

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;            

  }

【讨论】:

  • 现在我得到“timestamp=Wed, 31 Jan 2018 18:00:00 GMT, data=null”
猜你喜欢
  • 2011-07-21
  • 1970-01-01
  • 2019-02-15
  • 2014-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多