Java 如何将月份缩写为3个字符?
我试图将日期时间中的月份缩写为3个字符,比如说,如果月份是五月,它会显示五月,但是如果月份是六月,它会显示六月,九月会显示九月等等 我试过“嗯”,但不起作用,它似乎返回了一个月的全文Java 如何将月份缩写为3个字符?,java,android,simpledateformat,android-calendar,android-date,Java,Android,Simpledateformat,Android Calendar,Android Date,我试图将日期时间中的月份缩写为3个字符,比如说,如果月份是五月,它会显示五月,但是如果月份是六月,它会显示六月,九月会显示九月等等 我试过“嗯”,但不起作用,它似乎返回了一个月的全文 Calendar mDate = Calendar.getInstance(); SimpleDateFormat mDateFormat = new SimpleDateFormat("EEEE, MMM d, yyyy", Locale.US); mMyStartDate.setText(mDateFormat
Calendar mDate = Calendar.getInstance();
SimpleDateFormat mDateFormat = new SimpleDateFormat("EEEE, MMM d, yyyy", Locale.US);
mMyStartDate.setText(mDateFormat.format(mDate.getTime()));
你知道怎么做吗?另外,我不想再做任何改变。刚过了一个月,但到目前为止运气不好。
提前谢谢 您可以为此使用
java.time
包。有一个类DateTimeFormatter
,可以用来格式化时态对象,如LocalDateTime
、LocalDate
和LocalTime
这是格式化日期的一个非常简单的示例:
public static void main(String args[]) {
LocalDate today = LocalDate.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMM dd yyyy");
System.out.println(today.format(dtf));
}
输出(在我的语言环境中)是Mai 07 2019
查看内置格式。您可以执行以下操作:
LocalDate myDate=LocalDate.now()代码>然后您可以使用日期格式化程序myDate.format(新的DateTimeFormatter.of模式(“MMM dd yyyy”)
您必须使用SimpleDataFormat
和日历吗?他们不赞成…@deHaar还有什么我可以用的吗?对任何事情都非常开放是的,我建议您熟悉java.time
,我将很快发布一个(非常简单)的答案…我无法在非android环境中重现此问题:我使用android.icu.text.simpleDataFormat“”这可能是造成差异的原因,但由于SimpleDataFormat已被弃用,我非常乐意将java.time类与DateTimeFormatter一起使用。谢谢,这似乎很有效!将在我的整个代码库中更新为DateTimeFormatter。谢谢你知道这个吗你喜欢android编码吗?