我得到两种不同格式的日期。1)第一个月2)05/01/2012但我希望这是在下面的格式。"5 Jan 2011"现在我有了String d1="2012-01-05"和String d2="2012-01-05".
05/01/2012
"5 Jan 2011"
String d1="2012-01-05"
String d2="2012-01-05".
zysjyyx41#
SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy"); String now = formatter.format(new Date());
你想要的权利...或
String oldString = "2009-12 Dec"; Calendar calendar = Calendar.getInstance(); calendar.setTime(new SimpleDateFormat("yyyy-MM").parse(oldString)); // Yes, month name is ignored but we don't need this. calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE)); String newString = new SimpleDateFormat("dd-MMM-yyyy").format(calendar.getTime()).toUpperCase(); System.out.println(newString); // 31-DEC-2009
aurhwmvo2#
您需要一个DateTimeFormatter,它有两个可选的模式,用于将日期-时间字符串解析为LocalDate的示例,然后,您需要一个DateTimeFormatter,用于将LocalDate示例格式化为所需的模式。
DateTimeFormatter
LocalDate
import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.Locale; import java.util.stream.Stream; public class Main { public static void main(String[] args) { DateTimeFormatter parser = DateTimeFormatter.ofPattern("[uuuu-MM-dd][dd/MM/uuuu]", Locale.ENGLISH); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d MMM uuuu", Locale.ENGLISH); Stream.of( "2012-01-05", "05/01/2012" ) .map(s -> LocalDate.parse(s, parser)) .map(d -> d.format(formatter)) .forEach(System.out::println); } }
5 Jan 2012 5 Jan 2012
ONLINE DEMO从**Trail: Date Time**了解有关现代日期-时间API的更多信息。
dzjeubhm3#
看看这里:How to parse a date?您必须确定使用哪种格式,然后创建适当的模式。解析日期后,如果需要String,可以使用另一种模式对其进行格式化:
nkoocmlb4#
String d1 = "2012-01-05"; String d2 = "05/01/2012"; SimpleDateFormat curFormater1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat curFormater2 = new SimpleDateFormat("dd/MM/yyyy"); Date dateObj1 = null; Date dateObj2 = null; try { dateObj1 = curFormater.parse(d1); dateObj2 = curFormater.parse(d2); } catch (ParseException e) { e.printStackTrace(); } SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy"); String date_new1 = formatter.format(d1); String date_new2 = formatter.format(d2);
试试这个代码,它会帮助你解决你的问题
2w2cym1i5#
这将检索您想要的格式的日期。简单的几行。
String pattern = "dd MMM yyyy"; SimpleDateFormat format = new SimpleDateFormat(pattern); System.out.println(format.format(new Date()));
5条答案
按热度按时间zysjyyx41#
你想要的权利...
或
aurhwmvo2#
Java.时间
您需要一个
DateTimeFormatter
,它有两个可选的模式,用于将日期-时间字符串解析为LocalDate
的示例,然后,您需要一个DateTimeFormatter
,用于将LocalDate
示例格式化为所需的模式。ONLINE DEMO
从**Trail: Date Time**了解有关现代日期-时间API的更多信息。
dzjeubhm3#
看看这里:How to parse a date?
您必须确定使用哪种格式,然后创建适当的模式。
解析日期后,如果需要String,可以使用另一种模式对其进行格式化:
nkoocmlb4#
试试这个代码,它会帮助你解决你的问题
2w2cym1i5#
这将检索您想要的格式的日期。简单的几行。