首页 > 解决方案 > 如何使用 JIRA 智能值获取自纪元以来的毫秒数?

问题描述

我正在尝试使用JIRA smart values将日期转换为自纪元以来的等效毫秒数。

例如:获取2020-05-27T02:11:32.0001590509492000

文档说您还可以使用 JavaDateTimeFormatter类(链接)中的格式。

我已经尝试了以下所有方法。这可能吗?

{{now.format("n")}}
{{now.format("A")}}
{{now.toCurrentTime.format("nnnn")}}
{{now.fullDateTime.format("AAAA")}}",
{{now.fullDateTime.format("n")}}",
{{now.fullDateTime.format("A")}}",
{{now.toCurrentTime.millis}}",
{{now.toDateTimeAtCurrentTime.format("n")}}",
{{now.toDateTimeAtCurrentTime.format("A")}}",
{{now.toDateTimeAtCurrentTime.millis}}"

标签: datetimejiradatetime-formatepoch

解决方案


没错,是可以做到的。

    ZoneId zone = ZoneId.of("Asia/Vladivostok");
    DateTimeFormatter epochMilliFormatter = new DateTimeFormatterBuilder()
            .appendValue(ChronoField.INSTANT_SECONDS)
            .appendValue(ChronoField.MILLI_OF_SECOND, 3)
            .toFormatter();

    LocalDateTime ldt = LocalDateTime.parse("2020-05-27T02:11:32.000");
    ZonedDateTime zdt = ldt.atZone(zone);
    String formattedMilliseconds = zdt.format(epochMilliFormatter);
    System.out.println("Formatted into milliseconds since the epoch: " + formattedMilliseconds);

此示例片段的输出是您想要的:

自纪元以来格式化为毫秒:1590509492000

我不知道您所在的时区,因此请在代码中替换 Asia/Vladivostok(如果不是那个时区)。

不过,我不知道它如何适合 Jira,抱歉。


推荐阅读