草庐IT

iso-chart

全部标签

java - 使用 Java 8 java.time api 解析 ISO 时间戳(仅限标准版)

我无法从示例中的字符串中获取纪元的毫秒数。到目前为止,我已经尝试了这三种不同的方法,示例显示了最新的尝试。似乎总是归结为TemporalAccessor不支持ChronoField.如果我能成功构造一个Instant实例,我就可以使用toEpochMilli().StringdateStr="2014-08-16T05:03:45-05:00"TemporalAccessorcreationAccessor=DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(dateStr);InstantcreationDate=Instant.from(cre

java.time.DateTimeFormatter : Need ISO_INSTANT that always renders milliseconds

我正在尝试将围绕日期时间管理的各种代码混合清理到仅Java8java.time命名空间。现在我有一个关于默认DateTimeFormatter的小问题对于Instant.DateTimeFormatter.ISO_INSTANT格式化程序仅在不等于零时显示毫秒。纪元呈现为1970-01-01T00:00:00Z而不是1970-01-01T00:00:00.000Z。我做了一个单元测试来解释这个问题以及我们如何需要最终日期来相互比较。@Testpublicvoidjava8Date(){DateTimeFormatterformatter=DateTimeFormatter.ISO_IN

java - 甲骨文/JDBC : retrieving TIMESTAMP WITH TIME ZONE value in ISO 8601 format

关于该主题的某些部分已经说了很多(并写了SO),但不是全面、完整的方式,所以我们可以有一个“终极、全面”的解决方案供每个人使用。我有一个Oracle数据库,我在其中存储全局事件的日期+时间+时区,因此必须保留原始TZ,并根据要求交付给客户端。理想情况下,它可以通过使用标准ISO8601“T”格式很好地工作,这种格式可以使用“TIMESTAMPWITHTIMEZONE”列类型(“TSTZ”)很好地存储在Oracle中。类似'2013-01-02T03:04:05.060708+09:00'我需要做的就是从数据库中检索上述值并将其发送给客户端,无需任何操作。问题是Java缺乏对ISO860

java - Joda 在 GMT 时区解析 ISO8601 日期

我有一个ISO8601日期,比方说:2012-01-19T19:00-05:00我的机器时区是GMT+1我正在尝试使用joda来解析它并将其转换为相应的GMT日期和时间:DateTimeFormattersimpleDateISOFormat=DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mmZZ");creationDate=simpleDateISOFormat.withZone(DateTimeZone.UTC).parseDateTime(date+"T"+time).toDate();现在我期待的结果是FriJan2000:00:00C

java - ZonedDateTime toString 与 ISO 8601 的兼容性

我试图确保在我的ZonedDateTime对象上调用toString()将符合ISO-8601格式。toString()方法的文档指出:...TheoutputiscompatiblewithISO-8601iftheoffsetandIDarethesame这是否意味着存在调用zdt.getOffset()将返回不同于zdt.getZone().getRules().getOffset(zdt.toInstant())?这似乎没有意义。有人可以提供一个偏移量和ID不相同的示例吗(即:toString()不符合ISO-8601的地方)以便我更好地理解中的描述文档。

java - 将 ISO8601 T-Z 格式的字符串转换为日期

可能的解决方案:ConvertJavaDateintoanotherTimeasDateformat我经历了它,但没有得到我的答案。我有一个字符串“2013-07-17T03:58:00.000Z”,我想将它转换成我们在制作新Date().Date时获得的相同形式的日期d=新日期();时间应该在ISTZone-Asia/Kolkata因此上面字符串的日期应该是2013年IST7月17日星期三12:05:16//根据印度标准GMT+0530的任何时间Strings="2013-07-17T03:58:00.000Z";DateFormatformatter=newSimpleDateFo

java - 识别 ISO 8601 中的时区

不,我不是在谈论区域偏移量——对于一个地区来说,这些偏移量在一年中可能会有所不同,例如夏令时。我说的是实际的timezonesmaintainedbyIANA.我了解ISO8601不支持这些,对吗?平台正在做什么来支持在类似ISO8601的字符串表示中识别时区?我注意到最新的Java日期/时间库为此使用了扩展的ISO8601格式,例如2011-12-03T10:15:30+01:00[欧洲/巴黎]。(参见DateTimeFormatterAPI。)扩展ISO8601以支持时区指定是否有一些趋同的约定(例如与其他语言和平台)? 最佳答案

java - 什么是计算 ISO 8601 周数的简单好方法?

假设我有一个日期,即整数形式的年月日。什么是用于计算ISO8601的好的(正确的)、简洁的和相当可读的算法?weeknumber给定日期属于星期几?我遇到了一些真正可怕的代码,这让我认为肯定有更好的方法。我想用Java来做这件事,但是任何一种面向对象语言的伪代码都可以。 最佳答案 tl;drLocalDate.of(2015,12,30).get(IsoFields.WEEK_OF_WEEK_BASED_YEAR)53……或者……org.threeten.extra.YearWeek.from(LocalDate.of(2015,1

java - 为什么 Java 的 String.getBytes() 使用 "ISO-8859-1"

来自java.lang.StringCoding:Stringcsn=(charsetName==null)?"ISO-8859-1":charsetName;这是Java.lang.getBytes()在linuxjdk7中使用的内容我一直以为UTF-8是默认字符集?谢谢 最佳答案 有点复杂...Java尝试使用默认字符编码通过String.getBytes()返回字节。默认字符集由系统file.encoding属性提供。这是缓存的,在JVM启动后通过System.setProperty(..)更改它是没有用的。如果file.en

Python:如何强制输出 iso-8859-1 文件?

如何在Python中强制输出Latin-1(我猜是iso-8859-1?)文件?这是我目前的代码。它有效,但尝试将生成的输出文件导入Latin-1MySQL表会产生weirdencodingerrors.outputFile=file("textbase.tab","w")fork,vintextData.iteritems():complete_line=k+'~~~~~'+v+'~~~~~'+"ENDOFTHELINE"outputFile.write(complete_line)outputFile.write("\n")outputFile.close()生成的输出文件似乎保存