带有月份的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日期格式[重复]的主要内容,如果未能解决你的问题,请参考以下文章
仅将带有年份和月份的字符串转换为仅适用于年份和月份的日期格式