- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我可以在 Android 项目中成功执行以下代码 fragment :
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd'T'HH:mm:ssZ", Locale.US);
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = null;
try {
date = dateFormat.parse("2015-08-17T19:30:00+02:00");
} catch (ParseException e) {
e.printStackTrace();
}
现在我将相同的代码 fragment 放入 JUnit4 测试中:
@RunWith(JUnit4.class)
public class DateUtilsTests {
@Test
public void testFailsWithParseException() {
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd'T'HH:mm:ssZ", Locale.US);
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = null;
try {
date = dateFormat.parse("2015-08-17T19:30:00+02:00");
} catch (ParseException e) {
e.printStackTrace();
}
assertThat(date).isNotEqualTo(null);
}
}
这失败了:
java.text.ParseException: Unparseable date: "2015-08-17T19:30:00+02:00"
最佳答案
来自 SimpleDateFormat
Java文档:
Z
对应RFC 822 time zone (如 -0800
)X
对应 ISO 8601 time zone (如 -08
或 -0800
或 -08:00
)在您的情况下,您想要解析以 +02:00
形式编写的时区(即在小时和分钟之间使用冒号),因此您应该使用 X
token 而不是 Z
。
但是,在 Android 中,SimpleDateFormat
没有 X
标记,只有 Z
,并且文档指出 Z
支持解析格式为 -08 的时区:00
。
关于java - JUnit4 测试导致 java.text.ParseException : Unparseable date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34686477/
我在云中有一个表“用户”,其中包含用户名、经度、纬度字段。我以用户身份登录。我想在欢迎 Activity 中检索特定 ID 的记录。我关注了 parse.com 文档,非常有帮助。我按照文档中提到的检
我有一个@Service带注释的服务类方法createShiftPlan(int numberOfEmployees, int startingMonth, int year)我在其中使用 Simpl
我有像“2015-07-13T10:44:58Z”这样的时间戳字符串,当我尝试将其转换为日期对象时,它总是会生成异常 由以下原因引起:java.text.ParseException:无法解析日期:“
您好,我正在尝试将字符串解析为日期,但它抛出异常 java.text.ParseException: Unparseable date: "1409239380000"(at offset 13)。这
执行以下代码时,我收到 ParseException: double toMilliseconds(double ds2) throws ParseException { long durin
我在将日期从 String 解析为 Date 对象时遇到 ParseException。日期字符串还包含时区。我正在使用这段代码: final SimpleDateFormat sdf = new S
我正在尝试转换此日期 2013-03-04T12:08:52.74+08:00 formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
我正在使用 jdbc:odbc 连接从 eclipse 连接到 Access 2010 数据库。我编写了一种方法来格式化日期值,然后将它们插入数据库中的表中。但是,当我尝试运行它时,堆栈跟踪打印出以下
我想解析字符串格式“9/7/2016 07:40 p.m.”到日期。但我遇到了解析异常。我尝试使用两种三种格式。但仍然遇到异常。 我想将此解析日期与当前日期进行比较。 SimpleDateF
我需要对代表日期的字符串列表进行排序。 我尝试了以下代码: try { SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
我有一个名为 DateCompareOld 的字符串,它的值为“Fri Aug 12 16:08:41 EDT 2011”。我想将其转换为日期对象。 SimpleDateFormat dateTyp
这个问题已经有答案了: Datetime parsing error (2 个回答) 已关闭 5 年前。 我正在处理日期字符串,我需要解析为 java“Date”对象。这是我到目前为止所得到的: tr
我编写了一段代码来解析日期字符串 - DateFormat cal = new SimpleDateFormat("yyyy-MM-dd hh:mm"); cal.setLenient
我有以下字符串:dateToParse = "Fri May 16 23:59:59 BRT 2014",我想使用 DateFormat 解析它: DateFormat dateFormat = ne
为什么我会收到此异常? 这是我的格式字符串: SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); 这是我
解析日期格式时出现异常? java.text.ParseException:无法解析的日期:“10-10-2016” 在这一行: newSelection5 = DateFormat.getDateI
我需要将输入日期格式更改为我想要的格式。 String time = "Fri, 02 Nov 2012 11:58 pm CET"; SimpleDateFormat displayFormat =
我正在运行以下代码: DateFormat fullDate = new SimpleDateFormat("HHmmdd/MMMyy"); Date date = fullDate.parse("0
我正在尝试使用 SimpleDateFormat 解析以下日期:2015 年 9 月 3 日上午 10:00 (UTC-08:00)。 我最远的是: message = "10:00 AM UTC-0
我遇到了一个非常奇怪的问题,一小段代码在一台机器上运行,而不是在另一台机器上运行。这段代码: DateTimeFormatter formatter = DateTimeFormatter.o
我是一名优秀的程序员,十分优秀!