如何将此String转换为Date: 字符串时间=“2017-07-27T02:52:36.05768Z”;
我的代码无效
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try{
date = dateFormat.parse(time);
} catch (ParseException e) {
e.printStackTrace();
Logi(TAG, e.getMessage());
}
我收到错误:
error: Unparseable date: "2017-07-27T02:52:36.05768Z" (at offset 10)
请注意,我在尝试之前尝试研究,但没有任何效果。谢谢 [已解决]错误的日期字符串格式。该字符串应与日期模式匹配
答案 0 :(得分:1)
如Ben P.所述,您应该使用格式化程序,如:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSZ");
yyyy-年份
MM-月份
dd-为白天
HH - 持续数小时
毫米 - 分钟
ss - 秒数
SSSSS - 毫秒数
有关示例,请参阅http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html。
答案 1 :(得分:0)
您的模式与您的输入不符。你有一个空间,你的输入有一个“T”,你没有任何东西可以匹配句号,纳秒或最后的“Z”。
答案 2 :(得分:0)
您必须将时间更改为
字符串时间=" 2017-07-27 02:52:36.05768Z "
前:
public static String ViewEAEA(){
String s = "";
String time = "2017-07-27 02:52:36.05768Z";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try{
Date date = dateFormat.parse(time);
s = dateFormat.format(date);
System.out.println(s);
} catch (Exception e) {
e.printStackTrace();
}
return s;
}
输出:
2017-07-27 02:52:36
答案 3 :(得分:0)
此日期采用W3C XML Schema日期/时间格式。您可以使用javax.xml.datatype包解析它:
XMLGregorianCalendar c = DatatypeFactory.newInstance().newXMLGregorianCalendar("2017-07-27T02:52:36.05768Z");
Date date = c.toGregorianCalendar().getTime();
答案 4 :(得分:0)
使用为您的字符串定制的此方法:
public Date stringToDate(String time) throws ParseException {
time = time.replace('T', ' ');
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time);
}
或者您可以修改格式化程序:
public Date stringToDate(String time) throws ParseException {
return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(time);
}
答案 5 :(得分:0)
显然,它说偏移(10)你有不能改变为日期格式的字符。如果您仔细查看索引10,则表示“To”,而文本不是日期时间格式的一部分。因此,拆分并合并日期字符串,以便从该字符串中删除“To”文本。
答案 6 :(得分:0)
日期和时间格式由日期和时间模式字符串指定。 SimpleDateFormat构造函数中的模式与对应的不完美 到您的数据时间字符串。我们试试这段代码。
String time = "2017-07-27T02:52:36.05768Z";
SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
try {
Date date = parser.parse(time);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(date);
System.out.println("The date is " + formattedDate);
} catch (ParseException e) {
e.printStackTrace();
}
我希望它会对你有所帮助。
答案 7 :(得分:0)
使用$pa_color = get_post_meta($product->id, 'pa_color', true);
并尝试。