越南文的日期格式(AM \ PM)

我想向中国人和越南人显示lokalize日期,但是不知何故AM / PM不会翻译成越南语。

Locale locale = new Locale("vi","VN");
String p1 = "MMM dd,yyy 'at' h:mm a";
SimpleDateFormat dateFormat = new SimpleDateFormat(p1,locale);
chyumkps198371 回答:越南文的日期格式(AM \ PM)

java.time

java.util 日期时间 API 及其格式化 API SimpleDateFormat 已过时且容易出错。建议完全停止使用它们并切换到 modern Date-Time API*

使用 java.time(现代日期时间 API)的解决方案:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMM dd,uuuu 'at' h:mm a",new Locale("vi","VN"));
        System.out.println(LocalDateTime.of(2021,8,4,10,20).format(dtf));
        System.out.println(LocalDateTime.of(2021,20,30).format(dtf));
    }
}

样本运行的输出:

thg 8 04,2021 at 10:20 SA
thg 8 04,2021 at 8:30 CH

ONLINE DEMO

modern Date-Time API 了解有关 Trail: Date Time* 的更多信息。


* 出于任何原因,如果您必须坚持使用 Java 6 或 Java 7,您可以使用 ThreeTen-Backport,它将大部分 java.time 功能向后移植到 Java 6 & 7. 如果您正在为 Android 项目工作并且您的 Android API 级别仍然不符合 Java-8,请检查 Java 8+ APIs available through desugaringHow to use ThreeTenABP in Android Project

,

如果您想显示AM/PM,则可以尝试使用Locale.ENGLISH

Locale locale = Locale.ENGLISH;
String p1 = "MMM dd,yyy 'hiat' h:mm a";
SimpleDateFormat dateFormat = new SimpleDateFormat(p1,locale);
,

对于仍在搜索此主题的任何人,我已经手动编写了它。我上传了 my file here 以防你不想写。

用法:

if (doc.exists)
本文链接:https://www.f2er.com/3119497.html

大家都在问