var df = new DateFormat("EEE, d MMM yyyy HH:mm:ss z");
var date = df.parse(course.date); 字符串rt = df.format(date);
答案 0 :(得分:0)
您尝试格式化2019-04-05T14:00:51.000Z
的日期为UTC格式(因为它以Z结尾),并且在T
的中间还有date
,除了分隔符以区分date
和time
。
DateFormat
类非常静态,并且在涉及上述日期时有局限性。因此,我们首先必须操纵给定的日期,以仅考虑输入的date
和time
部分,如下所示:
var str = "2019-04-05T14:00:51.000Z";
var newStr = str.substring(0,10) + ' ' + str.substring(11,23);
print(newStr); // 2019-04-05 14:00:51.000
请注意,在解析字符串之前,字符串必须采用可接受的格式。因此,我们还需要省略与Z
相同的2019-04-05T14:00:51.000
。关于这一点here的更多参考。
然后,我们需要将字符串转换为DateTime
对象,然后将该对象传递给DateFormat's
格式方法,如下所示:
DateTime dt = DateTime.parse(newStr);
print(DateFormat("EEE, d MMM yyyy HH:mm:ss").format(dt));
这为我们提供了Fri, 5 Apr 2019 14:00:51
的格式。
希望这能回答您的问题。