我想将时间戳 2011-03-10T11:54:30.207Z 转换为 10/03/2011 11:54:30.207。我怎样才能做到这一点?我想将 ISO8601 格式转换为 UTC,然后 UTC 应该能够识别位置。请帮忙
String str_date="2011-03-10T11:54:30.207Z";
DateFormat formatter ;
Date date ;
formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss.SSS");
date = (Date)formatter.parse(str_date);
System.out.println("output: " +date );
异常:java.text.ParseException:无法解析的日期:“2011-03-10T11:54:30.207Z”
首先,您需要知道 UTC 不是一种格式,而是一个时区。因此,“从 ISO8601 转换为 UTC”作为一个概念并没有真正的意义。
然而,这里有一个使用 Joda Time 的示例程序,它将文本解析为DateTime
然后格式化它。我曾猜测过a您可能想要使用的格式 - 您还没有真正提供足够的信息来说明您想要做什么,仅此而已。您可能还想考虑时区...您想显示local指定时刻的时间?如果是这样,您需要计算出用户的时区并进行适当的转换。
import org.joda.time.*;
import org.joda.time.format.*;
public class Test {
public static void main(String[] args) {
String text = "2011-03-10T11:54:30.207Z";
DateTimeFormatter parser = ISODateTimeFormat.dateTime();
DateTime dt = parser.parseDateTime(text);
DateTimeFormatter formatter = DateTimeFormat.mediumDateTime();
System.out.println(formatter.print(dt));
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)