【问题标题】:Timestamp string to Date [duplicate]时间戳字符串到日期 [重复]
【发布时间】:2018-07-11 14:46:02
【问题描述】:

如何将字符串转换为日期

在字符串中我们有一个时间戳(例如"2018-07-11T04:40:30Z"), 我想简单地将这个字符串时间转换为11-07-2018 16:40:30

String Time =  jresponse.getString("timestamp");
SimpleDateFormat sf = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
Date date = sf.parse(Time);

我多次尝试此代码但它不起作用,因为我一直使用这种格式"2018-07-11T04:40:30Z" 而不是这种11-07-2018 16:40:30 为什么?

【问题讨论】:

  • 你的错误是什么?
  • 格式不变我一直是这个 2018-07-11T04:40:30Z 而不是这个格式 11-07-2018 16:40:30
  • stackoverflow.com/questions/2201925/… 可能会帮助您解决问题。
  • 欢迎来到 Stack Overflow!寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建 minimal reproducible example。使用edit 链接改进您的问题 - 不要通过 cmets 添加更多信息。谢谢!
  • 我在“此问题已在此处有答案”框中添加了第二个原始问题。我认为它可能比第一个更有帮助。当然,我特别推荐我自己的答案。 :-)

标签: java android


【解决方案1】:

如果您想解析像"2018-07-11T04:40:30Z" 这样的日期,那么您应该更改格式,因为"dd-MM-yyyy HH:mm:ss" 将永远无法使用该日期。正确的格式应该类似于yyyy-MM-dd'T'HH:mm:ssZ

【讨论】:

  • 我认为 T 需要被引用或转义? yyyy-MM-dd'T'HH:mm:ssZ
  • 是的,我会更新我的答案。谢谢。
猜你喜欢
  • 2012-10-25
  • 2019-03-28
  • 2013-07-29
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多