带有月份的Android日期格式[重复]

Posted

技术标签:

【中文标题】带有月份的Android日期格式[重复]【英文标题】:Android date format with Month [duplicate] 【发布时间】:2021-07-25 12:17:23 【问题描述】:

如何获取android日期格式“7/25/2021”到July/25/2021

这是部分代码

mDisplayDate 是文本视图

mDisplayDate.setOnClickListener(view -> Calendar cal = Calendar.getInstance();

        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH);
        int day = cal.get(Calendar.DAY_OF_MONTH);

String dateLong = month + "/" + day+ "/" + year;

mDisplayDate.setText(dateLong);

【问题讨论】:

我希望这个文档页面能有所帮助:developer.android.com/reference/java/text/SimpleDateFormat @AdarshAnurag 请不要教年轻人使用早已过时且臭名昭著的麻烦 SimpleDateFormat 类。至少不是第一选择。而且不是没有任何保留。我们在java.time, the modern Java date and time API, 和它的DateTimeFormatter 中做得更好。是的,您可以在 Android 上使用它。 LocalDate.parse("7/25/2021", DateTimeFormatter.ofPattern("M/d/u")).format(DateTimeFormatter.ofPattern("MMMM/d/u", Locale.ENGLISH)) 产生July/25/2021 【参考方案1】:

最简单的方法是使用switch case

String monthStr = "";

switch(month) 
    case 1:
        monthStr = "January";
        break;
    case 2:
        monthStr = "February";
        break;
   // and else


String dateLong = monthStr + "/" + day+ "/" + year;

【讨论】:

【参考方案2】:

您可以使用我在 cmets 中分享的 android 文档链接来了解 SimpleDateFormat。

要使用的模式应该是MMMM/dd/yyyy

MMMM - 给出月份名称

dd - 给出一个月的天数

yyyy - 给出年份

 Date date = Calendar.getInstance().getTime();
 DateFormat formatter = new SimpleDateFormat("MMMM/dd/yyyy");
 String today = formatter.format(date);
 mDisplayDate.setText(today);

注意:您只能将 MMM 用于 3 个字母的月份名称。

在此处阅读有关patterns 的更多信息。

【讨论】:

以上是关于带有月份的Android日期格式[重复]的主要内容,如果未能解决你的问题,请参考以下文章

日期/时间格式的 Redshift 重复月份规范

仅将带有年份和月份的字符串转换为仅适用于年份和月份的日期格式

Android - 显示不同日期格式的月份名称

带有异常日期的 Android CalendarContract 重复事件

颤振格式日期时间[重复]

将带有 GMT 的字符串转换为日期时间格式 - php [重复]