Java 8 偏移日期解析

2023-11-23

我需要解析以下格式的字符串2015-01-15-05:00UTC 中的 LocalDate(或其他)。 问题是下面的代码:

System.out.println(LocalDate.parse("2015-01-15-05:00", DateTimeFormatter.ISO_OFFSET_DATE));

outputs 2015-01-15忽略偏移量。期望的输出是2015-01-16

提前致谢!


最简单的答案是使用OffsetDateTime来表示数据,但需要默认时间:

DateTimeFormatter fmt = new DateTimeFormatterBuilder()
    .append(DateTimeFormatter.ISO_OFFSET_DATE)
    .parseDefaulting(ChronoField.HOUR_OF_DAY, 0)
    .toFormatter();
OffsetDateTime dt = OffsetDateTime.parse("2015-01-15-05:00", fmt);
LocalDate date = dt.withOffsetSameInstant(ZoneOffset.UTC).toLocalDate();

ZonedDateTime如果处理时区,则很有用,但是当您仅处理偏移量时,OffsetDateTime更简单。

一般来说,应用程序代码不应包含以下类型的变量TemporalAccessor。如果您看到这一点,通常有更好的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 8 偏移日期解析 的相关文章

随机推荐

  • Linux 命令行调用没有从 os.system 返回它应该返回的内容?

    我需要对 linux 进行一些命令行调用并从中获取返回 但是按如下方式执行只是返回0当它应该返回时间值时 例如00 08 19 我正在常规命令行中测试完全相同的调用 它返回时间值00 08 19所以我对我做错了什么感到困惑 因为我认为这就是
  • BufferQueue已被废弃:用TextureView播放视频时

    每次我暂停我的活动 实际上是片段 以转到另一个应用程序时 在使用 onResume 返回时 我尝试恢复视频播放 但它不播放 我得到一个空白屏幕 经过调查 我在 Logcat 中看到以下内容 E BufferQueueProducer unn
  • Clang 与 .so 文件链接

    我不断得到 ld library not found for lchaiscript stdlib 5 3 1 so clang error linker command failed with exit code 1 use v to s
  • Artisan migrate 找不到驱动程序

    我正在尝试安装 Laravel 我已经安装了Xampp 但是当我尝试使用设置我的数据库时php artisan migrate我收到错误 Illuminate Database QueryException 找不到驱动程序 SQL sele
  • 如何将 boost bind 与成员函数一起使用

    以下代码导致 cl exe 崩溃 MS VS2005 我正在尝试使用 boost bind 创建一个函数来调用 myclass 的方法 include stdafx h include
  • 在 Windows 上更改 .gitconfig 位置

    默认情况下 在 Windows 上 Git 将全局 gitconfig 放置在c documents and settings user 我如何更改该位置以便 gitconfig 存储在c my configuration files 到底
  • Haskell:严格顺序执行外部命令

    如果我处于需要按顺序执行外部命令的情况 最好的解决方案是什么 例如 我有两个命令 制作快照 和 备份快照 在第一个完成之前 第二个无法开始 如果我将这两个命令有序地粘贴在 do 语法中 它们是否会依次执行 或者我是否必须手动检查并确保第一个
  • 无法从 xcode 7 推送到 gitlab

    升级到 Xcode 7 的一个令人不快的副作用是我无法再推送到我的 Gitlab 存储库 在过去的两年里 我一直在毫无问题地推送和拉取我的项目 所以我怀疑 Xcode 7 正在做一些不同的事情 我已经通过 Web 界面登录和注销来验证我的
  • 如何将粗体文本设置为Android Snackbar Action Text?

    我们可以使用 Snackbar 的 Action Text 设置颜色setActionTextColor如记录在https developer android com reference android support design wid
  • 如何在android画布上绘制一个实心三角形?

    所以我在 android 地图中使用以下代码在我的绘制方法中绘制这个三角形 paint setARGB 255 153 29 29 paint setStyle Paint Style FILL AND STROKE paint setAn
  • com.android.camera.action.CROP 替代方案?

    它似乎com android camera action CROP不可靠 因为它是内部 API 并非在所有设备上都可用 不过 我发现这个库非常实用 它在我的 Galaxy Nexus 上运行良好 我真的应该考虑实施自己的解决方案吗 我使用它
  • 设置与高度/宽度相关的图像 DPI C#

    我正在编写一个应用程序来将一些图像发送给第三方 并且图像必须为 200x200 DPI 该图像是位图 尺寸为 500 宽度和 250 高度 我第一次与第三方测试图像时 我的分辨率不正确 我只是用过image SetResolution 20
  • 如何使用 touchmove 使 mousemove 事件适用于触摸屏?

    我正在开发一个画布 JavaScript 通过 mousemove 事件你可以擦除背景 现在我正在尝试在触摸屏 移动设备 上获得相同的体验 如何同时为我的代码提供 mousemove 和 touchmove 事件 function Crea
  • 如何向 axlsx 中的单元格添加超链接?

    随着spreadsheet宝石 你可以跑Spreadsheet Link new http hyperlinkhere com Some words 制作一个电子表格 其中的单元格包含字符串 Some Words 并带有指向 的超链接 ht
  • 如何使用 C# SendKeys 以编程方式按下 Windows 键

    基本上我想在代码中模拟用户单击 Windows 键 我知道有 SendKeys 如果我得到了按键的句柄 它允许我将按键发送到窗口 但我不知道我需要获取什么句柄才能发送 Windows 按键命令 例如 Windows 键 L 读过一点后 似乎
  • Rails render_to_string 在部分视图中给出错误

    我正进入 状态ActionView MissingTemplate在代码下方使用带有部分视图的 render to string 方法时出错 bizz render to string partial gt biz new layout g
  • SQL Server Management Studio 无法连接

    我已经安装了 SQL Server Management Studio 2014 在 连接到服务器 窗口中 我选择服务器类型为 数据库引擎 服务器名称为 本地 但是当我尝试连接时 显示 n 错误 标题 连接到服务器 无法连接到 附加信息 与
  • Telnet IAC命令应答

    我正在尝试与套接字协商 telnet 连接 套接字正在工作 但服务器告诉我 login The 表示 255 253 1 255 253 31 255 251 1 255 251 3 我阅读了所有 RFC 文档 但我不明白我应该响应什么才能
  • 如何使用 CMake 在链接命令行末尾添加标志?

    我有一个 CMake 的问题无法检测到 pthread 作为一种解决方法 我尝试过 set CMAKE EXE LINKER FLAGS CMAKE EXE LINKER FLAGS lpthread 然而 这插入 lpthread在错误的
  • Java 8 偏移日期解析

    我需要解析以下格式的字符串2015 01 15 05 00UTC 中的 LocalDate 或其他 问题是下面的代码 System out println LocalDate parse 2015 01 15 05 00 DateTimeF