- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当将日期和时间从 XML 文档解析为 JodaTime 对象时,我使用一组通用的转换实用程序,通常使用 org.joda.time.format.ISODateTimeFormat
提供的解析器和格式化程序。
这在大多数情况下都可以正常工作,但这次我看到了 xs:date
值为 2010-08-19Z
格式的文档。这是一个完全有效的 xs:date
值,但我试过的标准 ISODateTimeFormat
生成的 LocalDate
解析器都不会接受它。我能找到的最接近的是 ISODateTimeFormat.dateParser()
,它将接受相当奇怪的 2010-08-19TZ
,但不接受 2010-08-19Z
(注意 T
)。
这一切都非常令人恼火,因为 Joda 和 XML Schema 都应该严格遵守 ISO 日期/时间格式规则,但其中一个不是,或者规范是模糊的。
在我承认失败并手工制作自定义格式之前,任何人都可以指出一个源自 ISODateTimeFormat
的解析器来读取该值吗?
最佳答案
我相信根据 ISO-8601,“Z”是时间值的一部分。 “T”分隔符仅用于创建组合的日期/时间值。严格解读这意味着“Z”不能出现在没有时间值的日期之后,时间值可以是空的,因此是“奇怪的”2010-08-18TZ
。
这似乎是 xs:date 和 ISO-8601 定义之间的轻微阻抗不匹配。
编辑:我找到了 ISO 8601 的副本.它没有定义“时区日期”的概念,如 XML Schema Datatypes 中定义的那样。规范
与其从头开始编写一个简单的包装器,不如将带有时区的 xs:date 实例转换为相应的 ISO-8601 值(即只需插入“T”),然后使用现有的 ISODateTimeFormat.dateParser( )
?
关于java - 解析 xs :date with timezone into Joda LocalDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3523289/
我需要以 [+/-]hh:mm 格式保存手机的时区 我正在使用 TimeZone 类来处理这个问题,但我能得到的唯一格式如下: PST -05:00 GMT +02:00 我宁愿不对结果进行子串化,是
我正在尝试在 Node js 中使用 moment-timezone 来获取所有可用时区的列表,如下所示 - var moment = require('moment-timezone'); var
我正在使用以下代码将时区 (GMT-3) 转换为设备本地时区。 int hour=17,minute=0,day=12,month=6,year=2014; Calendar cal = new Gr
System.setProperty("user.timezone", "America/Chicago"); TimeZone.setDefault(TimeZone.getTimeZone("美国
我想从字符串初始化DateFormatter().timeZone,但是当我做类似的事情时 let dateFormatter = DateFormatter() dateFormatter.time
我通过存储日期组件字典在我的后端存储用户出生日期。它看起来像这样: { "day": 1, "month": 1, "year": 1970, "timeZone":
我一直在开发一个应用程序,它以下面给出的特定格式从服务器获取日期。 "2015-02-03 00:00:00" 我想使用 NSDateFormatter 以不同的 UI 格式显示它们但是当我更改时区时
我有什么 我有一个来自服务器的日期字符串,它的格式是 w3c 日期格式 2016-02-13T09:53:49.871Z 我的问题 当我将消息发布到服务器时,它显示的是 5 小时前而不是现在 我想要什
我正在将我的项目从 Django 1.8.2 升级到 1.9.7,我收到了这个警告: WARNINGS: my_app.my_model.date_available: (fields.W161) F
在下面的代码中: from datetime import datetime import pytz EDT = pytz.timezone('US/Eastern') d1 = datetime.n
我通过以下方式将服务器(Ubuntu 12.04)的时区更改为UTC: echo 'UTC' > /etc/timezone dpkg-reconfigure --frontend nonintera
我想获取洛杉矶的时区信息,现在10/10/2017是夏令时,但是我通过两种方式获取洛杉矶的时区得到了不同的结果。 public class TimeZoneDemo2 { public stati
我把它放在应用程序 Controller 中: before_filter :set_timezone def set_timezone Time.zone = current_user.time_
是否可以转换java.util.TimeZone字符串 sun.util.calendar.ZoneInfo[id=\"America/Los_Angeles\",offset=-28800000,d
当我写这段代码时: Calendar cal = Calendar.getInstance(); cal.setTimeZone(TimeZone.getTimeZone("EST"));
我正在使用 Java 8, 在我们的代码的前面,我们使用 sdf.setTimeZone(TimeZone.getTimeZone("PDT")); 转换为失败的美国太平洋地区(没有抛出任何错误,但转
我不断收到此警告:timezone of object (UTC) is different than current timezone ().我当前的时区是“EET”,如 Sys.timezone(
我正在我的网站上使用时刻时区转换器进行时区日期转换。默认情况下,我在 IST 中显示日期和时间。我有一个按钮可以转换用户时区中的给定时间。此按钮操作调用 moment js 并进行转换。到这里我没有问
我从服务响应中获得时区偏移量为“-5.00”,我需要在 UI 中将其格式化为 CST。我如何在 JavaScript 中转换它?我搜索了一下,不确定JavaScript中有没有直接的方法。 最佳答案
这个问题在这里已经有了答案: Converting string to datetime object (2 个答案) 关闭 6 年前。 我的主机有 UTC 时区,我正在尝试将 PDT 时间字符串转
我是一名优秀的程序员,十分优秀!