我有以下场景:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
System.out.println(dateFormat.parse("31/05/2011"));
Run Code Online (Sandbox Code Playgroud)
给出一个输出
Tue May 31 00:00:00 SGT 2011
Run Code Online (Sandbox Code Playgroud)
但我想要输出
31/05/2011
Run Code Online (Sandbox Code Playgroud)
我需要在这里使用解析,因为日期需要按日期排序而不是字符串.
有任何想法吗 ??
我使用以下代码以"dd/MM/yyyy HH:mm:ss.SS"格式获取日期.
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateAndTime{
public static void main(String[] args)throws Exception{
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.SS");
String strDate = sdf.format(cal.getTime());
System.out.println("Current date in String Format: "+strDate);
SimpleDateFormat sdf1 = new SimpleDateFormat();
sdf1.applyPattern("dd/MM/yyyy HH:mm:ss.SS");
Date date = sdf1.parse(strDate);
System.out.println("Current date in Date Format: "+date);
}
}
Run Code Online (Sandbox Code Playgroud)
并得到以下输出
Current date in String Format: 05/01/2012 21:10:17.287
Current date in Date Format: Thu Jan 05 21:10:17 IST 2012
Run Code Online (Sandbox Code Playgroud)
请建议我应该怎样做以相同的字符串格式显示日期(dd/MM/yyyy HH:mm:ss.SS),即我想要以下输出:
Current date in …Run Code Online (Sandbox Code Playgroud) 我的要求是将字符串"2019-04-25 07:06:42.790"转换为与"2019-04-25 07:06:42.790"Date格式相同的对象。
我尝试这样做,但它总是以字符串格式给出。
String createDate = "2019-04-25 07:06:42.790";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS", Locale.US);
LocalDateTime localDateTime = LocalDateTime.parse(createDate, formatter);
System.out.println(formatter.format(localDateTime));
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.US);
formatter1.setTimeZone(TimeZone.getTimeZone("IST"));
Date date = formatter1.parse(createDate);
System.out.println(date);
String formattedDateString = formatter1.format(date);
System.out.println(formattedDateString);
Run Code Online (Sandbox Code Playgroud)
上述代码的输出:
2019-04-25 07:06:42.790
Thu Apr 25 07:06:42 IST 2019
2019-04-25 07:06:42.790
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 java.util.Date 转换为 java.util.Date 但格式不同
10 月 11 日星期三 10:00:00 CDT 2023 --> 2023-10-11T10:00:00.000Z
我展示了很多帖子,并尝试了下面不同的解决方案,但没有运气。
将日期转换为字符串,然后再次转换为日期,但格式不变。
Date utilDate = Wed Oct 11 10:00:00 CDT 2023 // Your java.util.Date
// Define the desired format
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Convert the java.util.Date to a formatted String
String formattedDate = dateFormat.format(utilDate);
System.out.println("Formatted Date String: " + formattedDate);
//convert String again into java.util.Date
// it will return the same utilDate.
Run Code Online (Sandbox Code Playgroud)
还尝试使用 2 SimpleDateFormat 对象。请进一步指导我。