java – 如何在android中解析字符串“Mon Aug 08 16:44:19 EAT 2016”到目前为止
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何在android中解析字符串“Mon Aug 08 16:44:19 EAT 2016”到目前为止,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1996字,纯文字阅读大概需要3分钟。
内容图文
![java – 如何在android中解析字符串“Mon Aug 08 16:44:19 EAT 2016”到目前为止](/upload/InfoBanner/zyjiaocheng/810/7f9e30fce66d46569de166ad193b8be0.jpg)
private void parseDate() {
String p_localDateTime = "Mon Aug 08 16:44:19 EAT 2016";
SimpleDateFormat lv_formatter,lv_parser;
String lv_localTimeZone ="";
lv_localTimeZone="EAT";
Date lv_localDate = null;
lv_parser = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
//lv_parser = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
//lv_parser = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy");
lv_parser.setTimeZone(TimeZone.getTimeZone(lv_localTimeZone));
try {
lv_localDate = lv_parser.parse(p_localDateTime);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("convertLocalTimeToUTC: ");
}
我试图用3种不同的区域格式’z’,’zzz’,’zzzz’来解析这个日期但是所有抛出java.text.ParseException:Unparseable date:“Mon Aug 08 16:44:19 EAT 2016”(偏移20)
解决方法:
您正在使用现在由java.time类取代的麻烦的旧日期时间类.
使用java.time
避免将EAT用作区域.切勿使用3-4字母缩写,例如EST或IST,因为它们不是真正的时区,不是标准化的,甚至不是唯一的(!).指定proper time zone name.在此特定情况下,java.time能够将其转换为Africa/Nairobi区域.
String input = "Mon Aug 08 16:44:19 EAT 2016";
DateTimeFormatter f = DateTimeFormatter.ofPattern ( "EEE MMM dd HH:mm:ss z uuuu" ).withLocale ( Locale.US );
ZonedDateTime zdt = ZonedDateTime.parse ( input , f );
转储到控制台. toString方法生成标准ISO 8601格式的String,通过在括号中附加区域名称进行扩展.当您需要将日期时间值序列化为文本时,这些标准格式是更好的选择.
System.out.println ( "zdt: " + zdt );
zdt: 2016-08-08T16:44:19+03:00[Africa/Nairobi]
关于java.time
java.time框架内置于Java 8及更高版本中.这些类取代了旧的麻烦的日期时间类,如java.util.Date,.Calendar,& java.text.SimpleDateFormat中.
Joda-Time项目,现在是maintenance mode,建议迁移到java.time.
要了解更多信息,请参阅Oracle Tutorial.并搜索Stack Overflow以获取许多示例和说明.
许多java.time功能都被反向移植到Java 6& 07年7月7日进一步适应ThreeTenABP Android(见How to use…).
ThreeTen-Extra项目使用其他类扩展了java.time.该项目是未来可能添加到java.time的试验场.您可以在这里找到一些有用的课程,如Interval,YearWeek,YearQuarter等.
内容总结
以上是互联网集市为您收集整理的java – 如何在android中解析字符串“Mon Aug 08 16:44:19 EAT 2016”到目前为止全部内容,希望文章能够帮你解决java – 如何在android中解析字符串“Mon Aug 08 16:44:19 EAT 2016”到目前为止所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。