【发布时间】:2017-02-15 07:31:06
【问题描述】:
我编写了一个 JIRA 插件,它使用 moment js 来格式化和解析日期。 在某些安装中,当 moment.js 的短名称带有尾随句点时,我会遇到奇怪的行为。
moment.js 从哪里获取短名称?如何实现始终获得相同的短名称?
目前,像 3/Okt/16 这样的日期在我的 Ubuntu 实例上解析失败,但在 Mac 上有效。 3/Okt./16 似乎对两者都有效。
由于该字段是通过 Java SimpleDateFormat 填充的,因此我没有机会更改传入的格式。
从同一浏览器调用的示例:
JIRA Server hosted on MacOS:
moment.monthsShort()
["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]
JIRA Server hosted on Ubuntu:
moment.monthsShort()
["Jan.", "Febr.", "Mrz.", "Apr.", "Mai", "Jun.", "Jul.", "Aug.", "Sept.", "Okt.", "Nov.", "Dez."]
【问题讨论】:
-
我很肯定你有两个不同版本的时刻加载 - 我们在 .在 2.13 IIRC 中解析。也就是说,我可以看看你的解析代码吗?我想知道你是如何解析的。您是否收到控制台警告说时刻构造回退到 js 日期?
-
没错,我检查了版本,失败的是2.13.0,工作的是2.6.0。就我而言,该版本来自 jira 本身,我无法控制将使用哪个版本。解析是这样完成的:moment('3/Okt/16','D/MMM/YY');,没有你说的控制台输出。
-
我认为 unicode 约定将成为规范短名称的主要来源。它们都没有尾随句点。但可能是我对那个话题不够深入:unicode.org/reports/tr35/…
-
是的,我们希望!不幸的是,我们还没有。我想我也许可以给你写一些代码来解决这个问题。
标签: javascript momentjs simpledateformat jira-plugin