标签: time4j

如何将时间24小时转换为AM/PM并通过time4j删除纳秒和秒?

我面临的问题是我需要将时间从24格式转换为AM/PM格式(反之亦然),通过time4j库删除冗余值,如纳秒和秒.

我正在使用time4j库,因为Java无法处理Windows时区,我必须通过time4j进行转换

从24小时格式转换为AM/PM将取决于用户本地化.我想把它(本地化)作为一个论点传播.本地化将看起来像"en-US"字符串.

例如:如果用户本地化为"en-US",则将24小时格式转换为AM/PM.否则保持当前价值.

或者,当我已经定义了用户的本地化时,最好是以我需要的格式获得时间?

任何想法如何做到这一点?请帮忙)

我必须花很多时间阅读time4j doc,但我的思绪已被吹嘘

要全面了解我正在做的事情以及所有这一切的目的:

我必须从我的数据库中获取用户timeZone,这对应于Windows时区并将其转换为IANA时区.我已经通过这种方法做到了这一点

WindowsZone wzn = WindowsZone.of(userTimeZoneId); //userTimeZoneId="eg. FLE Standart Time"
TZID winZone = wzn.resolveSmart(new Locale("","001"));
System.out.println(winZone.canonical()); // WINDOWS~Europe/Kiev
Run Code Online (Sandbox Code Playgroud)

其中"userTimeZoneId"是来自DB的timeZone.它对应于Microsoft时区名称

我的下一步是从用户时区获取时间/或时间戳,我已将其转换为IANA时区.

我喜欢这样:

PlainTime currentTime = SystemClock.inZonalView(winZone).now().toTime(); 
//currentTime: "T17:31:37,057"
Run Code Online (Sandbox Code Playgroud)

"winZone"转换时区的地方(例如"WINDOWS~Europe/Kiev")

所以现在回到我在帖子顶部描述的问题.

  1. 当我已经定义了用户的本地化时,最好是以我需要的格式获得时间?

  2. 如何将时间从24格式转换为AM/PM,反之亦然?

  3. 如何删除多余的值,如纳秒和秒?

  4. 如何在转换中使用用户本地化?

java time java-time time4j

6
推荐指数
1
解决办法
154
查看次数

如何在time4j库中获取当前日期?

如何time4J在Java中获取当前的波斯日期?

PersianCalendar jalali = new PersianCalendar();
Run Code Online (Sandbox Code Playgroud)

java time4j

5
推荐指数
1
解决办法
111
查看次数

标签 统计

java ×2

time4j ×2

java-time ×1

time ×1