Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java dd/MM/yyyy日期格式至年月日_Java_Date - Fatal编程技术网

Java dd/MM/yyyy日期格式至年月日

Java dd/MM/yyyy日期格式至年月日,java,date,Java,Date,首先,我有一个java日期对象 Date firstdate; // its initialized and equal to some date dont worry 使用此代码,我将其转换为dd/MM/yyyy格式 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); date.setText(sdf.format(firstdate)); 但由于sdf.format返回

首先,我有一个java日期对象

Date firstdate;            // its initialized and equal to some date dont worry
使用此代码,我将其转换为dd/MM/yyyy格式

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
                date.setText(sdf.format(firstdate));
但由于sdf.format返回字符串,在格式化1次后,我无法在显示给用户之前将其再次格式化为所需的Monthname day、Year格式

我的意思是,如果sdf.formatfirstdate返回01/01/2000字符串,我想将其转换为1月12日,然后显示给用户。

首先获取字符串并转换为日期:

然后需要第二个SimpleDataFormat将日期转换为所需字符串:


为什么使用dd/MM/yyyy?这不是您需要的格式吗?无论如何,您可以使用parse方法将字符串返回到日期。参见:考虑抛弃长期过时和臭名昭著的简单SimeDead格式和朋友,并添加到Android项目中,以便使用JavaTime-现代java日期和时间API。使用它会更好。如果希望format方法产生任何不同的结果,则需要一个完全不同的format对象。建议使用DateTimeFormatter.OfCalizedDateFormatStyle.LONG.WithLocaleScale.US;因为您要求的格式与此一致。一定要占便宜。并使用LocalDate作为日期。如何在Android上使用?看见
String s = date.getText();  // e.g. "01/01/2000"
Date d = sdf.parse(s);      // parse the String to get a Date object
SimpleDateFormat sdf2 = new SimpleDateFormat("MMMMM dd, yyyy");
s = sdf2.format(d);         // "January 1, 2000"