将字符串转换为日期 - 罗马月

2024-01-07

我有以下字符串:“05 X 02”。我怎样才能将其转换为日期?我不想将其转换为字符串“05 10 02”然后再转换为日期。是否可以?

感谢帮助。

到目前为止我正在尝试使用

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd M/L yy");

但这不起作用。还尝试使用 DateTimeFormatterBuilder,但在这里我完全迷失了。


您可以更改默认格式符号以包含月份的罗马数字

DateFormatSymbols symbols = DateFormatSymbols.getInstance();

final String[] romanMonths =  {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII"};
symbols.setMonths(romanMonths);

SimpleDateFormat formatter = new SimpleDateFormat("dd MMMM yy", symbols);

System.out.println("My date " + formatter.parse("05 X 02"));

Here http://docs.oracle.com/javase/tutorial/i18n/format/dateFormatSymbols.html是一个关于如何使用自定义格式符号的很好的教程。

您可以选择通过更改任一短月份setShortMonths()或整月通过setMonths()

UPDATE:这是一个版本日期时间格式化程序生成器 https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatterBuilder.html从JDK8开始

static final ImmutableMap<Long, String> ROMAN_MONTHS = ImmutableMap.<Long, String>builder()
                .put(1L, "I").put(2L, "II").put(3L, "III").put(4L, "IV").put(5L, "V")
                .put(6L, "VI").put(7L, "VII").put(8L, "VIII").put(9L, "IX").put(10L, "X")
                .put(11L, "XI").put(12L, "XII").build();

DateTimeFormatter formatter = new DateTimeFormatterBuilder()
                    .appendValue(ChronoField.DAY_OF_MONTH, 1, 2, SignStyle.NORMAL)
                    .appendLiteral(' ')
                    .appendText(ChronoField.MONTH_OF_YEAR, ROMAN_MONTHS)
                    .appendLiteral(' ')
                    .appendValue(ChronoField.YEAR, 4)
                    .toFormatter();

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

将字符串转换为日期 - 罗马月 的相关文章

随机推荐

  • C#.NET 使用块

    我想在我的 DAL 层中使用 using 块 喜欢 using SqlConnection con new SqlConnection connection string Command object Reader object 由于 Sq
  • 使用 html5 拖放时滚动[重复]

    这个问题在这里已经有答案了 我刚刚发现 当使用 HTML5 拖放时 尝试使用鼠标滚轮或鼠标垫滚动页面将不起作用 并且不会调用 onmousewheel 事件的侦听器 作为示例 请参见此处 http jsfiddle net 92u6K 2
  • 使用 ASP.net core C# 在 MVC 应用程序中会话过期或空闲时间后重定向到登录页面

    我正在使用 ASP NET Core 我想在会话过期或用户空闲 10 分钟时重定向到登录页面 我怎样才能实现这个目标 目前 正在发生注销 当用户单击任何链接或提交按钮时 应用程序会重定向到登录页面 当用户单击按钮或链接时会发生这种情况 我想
  • 添加视图到 Django 管理

    有没有办法将自定义视图添加到 Django 管理应用程序 具体来说 我希望能够将 内容 div 切换为自定义静态内容 同时保留 页眉 和 页脚 div 这与重定向到静态 HTML 页面不同 后者不会保留页眉和页脚 您只需照常配置视图 url
  • 使用 CMake 触发 NVCC 中的 C++11 支持

    我正在运行带有 CUDA 7 5 的 Ubuntu 15 10 CMmake 是 v3 2 2 NVCC 是版本 7 5 v7 5 17 GCC是Ubuntu 5 2 1 22ubuntu2 v5 2 1 在常规项目中触发 C 11 很容易
  • WinForm 绑定单选按钮

    我使用VS2010 然后将Member datagridview拖放到设计视图中 之后 我将名称成员文本字段拖放到设计视图中 然后尝试编辑和保存 可以正常工作了 然后我将性单选按钮拖放到设计视图中 但绑定它不起作用 在这种情况下我该如何绑定
  • 将 CLOB 转换为 NUMBER 进行比较 - Oracle

    我是oracle新手 我的问题很简单 是否可以将CLOB字段转换为NUMBER类型进行比较 我尝试过使用 CAST 以及 TO NUMBER 函数 但没有任何效果 我的尝试 WHERE TO NUMBER clob field 100 gt
  • Swift 1.2 中的通用和(早期?)绑定

    func f
  • 如何在COM接口定义中指定用户定义类型参数?

    我的 COM 接口方法之一需要用户定义类型的参数 如下所示 uuid 58ADDA77 274B 4B2D B8A6 CAB5A3907AE7 object Interface interface IRadio IUnknown HRESU
  • 如何配置 Compass 在 Windows 上生成带有 Unix 行结尾的文件?

    我刚刚在 Windows 7 上使用 Ruby 1 9 2 安装了 Compass 0 11 5 我的开发环境设置为对所有文件使用 Unix 行结尾 我创建了一个初始 sass test 项目 并注意到它创建的所有文件都有 Windows
  • 检测IE版本不考虑兼容模式

    我想弄清楚是否可以检测您正在使用的 IE 版本 而不是您的文档模式 它可以是服务器或客户端代码 无关紧要 我只需要知道用户安装了哪个版本的 IE 即可 通过检查用户代理字符串 可以在两者中检测到它 请注意 浏览器可以欺骗其 UA 字符串 但
  • Gee HashMap 包含方法作为值

    我正在尝试填充 Libgee HashMap 其中每个条目都有一个字符串作为键 一个函数作为值 这可能吗 我想要这样的东西 var keybindings new Gee HashMap
  • 如何将 scipy.weave.inline 与外部 C 库一起使用?

    我试图理解 weave inline 将 C 代码包装在我的 Python 程序中 下面的代码简单地采用 Numpy 数组并将其所有元素乘以 2 inl py import numpy import scipy weave a numpy
  • ChangePivotCache 给出类型不匹配错误

    我有一个宏 之前重置了两个数据透视表的缓存 没有任何错误 我遇到了仅其中 1 个表的运行时错误 13 类型不匹配 我不明白为什么它突然不起作用 当两个表的代码相同时 也适用于一张表 Sub refresh caches Dim cpt As
  • 验证php中的日期格式

    我正在尝试使用 PHP 验证日期 我希望以下格式有效 d m yy d m yyyy dd m yy dd m yyyy d mm yy d mm yyyy dd mm yy dd mm yyyy 我尝试了许多正则表达式和 checkdat
  • 使用 XAML 中的通用 IValueConverter

    我有一个通用类实现IValueConverter 就像是 class MyValueConverter
  • 禁用离线访问并从应用程序设置中删除应用程序后,我不再获得扩展访问令牌

    看来这是 Facebook 已修复的一个错误 我禁用了offline access这样我就可以获得扩展访问令牌而无需询问offline access允许 在测试时 一开始似乎工作正常 我得到了一个 60 天后过期的令牌 然后我从 Faceb
  • Jenkins 如何更新构建作业的天气报告?

    Jenkins 遵循什么机制 统计数据来更新有关构建作业的天气信息 查看https github com jenkinsci jenkins blob master core src main java hudson model Healt
  • 如何在 Mac 上安装 spring boot CLI?

    我正在尝试安装 Spring Boot CLI 我按照网站上的说明进行操作 https docs spring io spring boot docs current reference html getting started insta
  • 将字符串转换为日期 - 罗马月

    我有以下字符串 05 X 02 我怎样才能将其转换为日期 我不想将其转换为字符串 05 10 02 然后再转换为日期 是否可以 感谢帮助 到目前为止我正在尝试使用 DateTimeFormatter formatter DateTimeFo