Я столкнулся с проблемой, что мне нужно преобразовать время из формата 24 в формат AM/PM (и наоборот), удалив избыточные значения, такие как наносекунды и секунды, с помощью библиотеки time4j.
Я использую библиотеку time4j, поскольку Java не поддерживает часовые пояса Windows, и мне приходится преобразовывать их с помощью time4j
Преобразование из 24-часового формата в AM/PM будет зависеть от локализации пользователей. И я хочу передать это (локализацию) в качестве аргумента. Локализация будет выглядеть как строка «en-US».
Например: если пользователь локализован на "en-US", преобразуйте 24-часовой формат в AM/PM. В противном случае сохраните текущее значение.
А может лучше получить время в нужном мне формате, когда я уже определил локализацию своего пользователя?
Есть идеи, как это сделать? Пожалуйста, помогите)
Мне приходится тратить много времени на чтение time4j doc, но мой мозг взорван
Чтобы иметь полное представление о том, что я делаю и с какой целью все это:
Мне нужно получить часовой пояс пользователей из моей БД, который соответствует часовым поясам 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
Где «userTimeZoneId» — часовой пояс из БД. Он соответствует названию часовых поясов Microsoft а>
Мой следующий шаг — получить отметку времени/времени из часового пояса пользователей, который я уже преобразовал в часовые пояса IANA.
Я сделал так:
PlainTime currentTime = SystemClock.inZonalView(winZone).now().toTime();
//currentTime: "T17:31:37,057"
Где "winZone" преобразует часовой пояс (например, "WINDOWS~Европа/Киев")
Итак, возвращаясь к моей проблеме, которую я описал в начале поста.
Может лучше получить время в нужном мне формате, когда я уже определил локализацию своего пользователя?
Как преобразовать время из формата 24 в формат AM/PM и наоборот?
Как удалить избыточные значения, такие как наносекунды и секунды?
Как я могу использовать локализацию пользователя в конверсии?