问题标签 [datetimeformatter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java 16 DateTimeFormatter 解析问题
我正在尝试解析日期
我期待 LocalDateTime 因为最后一个“Z”不应该像单引号一样影响。
顺便说一句,以下代码正在运行
java - 如何将有效日期作为字符串接收,但如果不保留默认构造函数分配的默认值?
我正在尝试创建一个日历类,在其中我初始化一个默认日期。当用户创建类时,默认构造函数分配值“01-01-2012”。如果用户输入有效日期作为字符串参数,则第二个构造函数将分配新日期。如果不是,我希望类给出友好警告,这不是有效日期并继续保持默认分配。(例如。如果用户输入“02/31/2012”。这将引发警告并继续创建实例,同时将默认设置为“01-01-2021”。)我还创建了一个设置日期的方法,这样可以一旦他们给出有效日期,稍后再更改。为了做到这一点,我应该如何使用第二个构造函数?还是有更好更有效的流程来做到这一点?
这是我到目前为止所拥有的,我想使用 LocalDate 和 DateTimeFormatter。任何事情都会有所帮助。
java - 字符串 java 的 DateTimeFormatter 类型
我收到的时间戳为字符串2021-07-03T09:19:17.83Z[UTC]
。我正在使用模式编译它,yyyy-MM-dd'T'HH:mm:ss[.SSS][.SS][.S]XXX
但在反序列化时出现异常。
无法java.util.Date
从字符串“2021-07-03T09:19:17.83Z[UTC]”反序列化类型值:预期格式“yyyy-MM-dd'T'HH:mm:ss[.SSS][.SS][.S ]XXX"
图案有什么问题吗?
java - java中的IST到UTC的转换
我正在尝试将收到的日期时间字符串(IST 格式)转换为 UTC 格式。
此代码段不会转换为 UTC。请让我知道是什么问题
java - 实现DateTimeFormatter Y10K输出等于SimpleDateFormat?
在为某些日期助手编写单元测试时,我偶然发现了一种DateTimeFormatter
我想了解如何解决的特定行为。
当输出年份 >9999 时,它总是在年份数字前添加一个加号。一些快速代码来说明这一点:
现在,文档说明了年份模式:
如果字母数少于四个(但不是两个),则仅根据 SignStyle.NORMAL 输出负年份的符号。否则,如果超出焊盘宽度,则根据 SignStyle.EXCEEDS_PAD 输出符号。
所以这给出了一个提示,但我仍然一无所知:
如何使DateTimeFormatter
输出与我的示例中的 Y10K+ 日期完全相同的字符串SimpleDateFormat.format()
(= unsigned for positive years >9999)?
java - 如何将 TemporalAccessor 转换为毫秒时间戳(使用 Instant)
我正在尝试将 TemporalAccessor 转换为毫秒的 unix 时间戳,但在某些情况下会出现错误。
这是重现问题的代码示例:
这是我得到的错误:
线程“主”java.time.DateTimeException 中的异常:无法从 TemporalAccessor 获取 Instant:{},ISO 解析为 java.time.format.Parsed 类型的 1970-01-01T00:01
我仅使用此日期格式收到此错误,因此问题可能来自我的 DateTimeFormatter(最初我使用的是另一种更通用的方法,我只收到此格式的错误)。
android - DateTimeFormatter 和 SimpleDateFormat 使用相同的输入字符串产生不同的结果
我们目前正在替换SimpleDateFormat
为DateTimeFormatter
. 在此期间,我遇到了一个奇怪的行为。以毫秒为单位的差异我无法向自己解释。这是代码:
我在这里发现很多帖子说我们不应该再使用SimpleDateFormat
了。
但是有人可以向我解释这是怎么发生的吗?我们的代码中是否有错误或误解了什么?
编辑:@Ole VV 的链接提供的解决方案(如何在 java 中用两个或三个毫秒数字解析日期时间?)可能会解决我遇到的错误,但它不能回答问题/解释为什么这两个格式化程序会产生不同的结果。
java - Kotlin 日期解析无法正常工作
所以我一直在寻找如何正确解析传入的日期时间,问题是这个字符串也包含显然由于某种原因无法解析的区域。举一个传入日期时间字符串的例子:
2021-10-05T10:00:00.0000000
现在我尝试了以下操作:
我尝试用空和 ZZZZ 替换 Z,但这不起作用我认为它不起作用,因为加号或减号不存在。仅供参考,由于 Microsoft Graph API 在检索日历事件时,我收到了这种格式的日期。
关于如何正确格式化此日期的任何想法?
编辑:这来自 Microsoft Graph。基本上他们给出了一个日期作为对象:
这是解释此日期对象的文档页面: dateTimeTimeZone 资源类型。
更新:
我终于能够解决这个日期问题,我所做的如下:
这样,日期将正确转换为正确的时区和正确的日期/时间。
java - 如何在 Java 中将 2021-09-29T17:04:31.0000 +05:30 转换为 2021-09-29 17:04:31.0000000 Asia/Calcutta?
如何将a转换2021-09-29T17:04:31.0000 +05:30
为2021-09-29 17:04:31.0000000 Asia/Calcutta
Java?
还有一个问题在这里-我尝试了很多方法来获取timezone(Asia/Calcutta)
但offset(+05:30)
无法获取。有人可以帮忙吗?
java - 为什么使用 DateTimeFormatter 进行日期解析会根据 Java 版本给出不同的结果
相同的日期解析代码显示不同的结果,具体取决于我使用的是 Java 8 还是 Java 11。
这是重现问题的代码示例:
在 java 8 上,输出为 -3600。
在 Java 11 上,输出为 0(这是我期望的值)。
根据我的分析,起源是使用“withZone()”方法,如果我删除它,它对于包含区域数据的日期按预期工作。
但同时这种行为在所有 DateTimeFormatter 上都不相同:例如,如果我使用这个格式化程序:
zoneId 在日期内存在的情况下得到了很好的考虑(尽管事实上“withZone() 被调用)。所以我认为第一个格式化程序有问题,Java 11 上的默认行为有助于它按预期工作在 Java 11 上而不是在 Java 8 上?我也明确表示我的目标是让它在 Java 8 上运行。