我正在学习Java课程,我需要将字符串转换为日期格式(dd / MM / yyyy)。我一直在使用SimpleDateFormat来格式化我的输入,但是它显示了日期所在的时间,时区和星期几。以下是我的代码片段:
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date date = new Date();
do{
y = JOptionPane.showInputDialog(null,
"Please enter the vehicle's registration date",
"Year?",
JOptionPane.QUESTION_MESSAGE);
try {
date = df.parse(y);
check = true;
}
catch (ParseException e) {
check = false;
}
}
while (check == false);
return date;
任何人都知道如何将格式保留为日期(例如12/3/2000)? 感谢
答案 0 :(得分:4)
使用SimpleDateFormat#format()
进行相应格式化。
String dateString = new SimpleDateFormat("dd/MM/yyyy").format(dateObject);
java.util.Date
对象包含有关 日期和时间的信息。如果您只想要人类可表示格式的日期部分,则需要将其格式化为String
。正如您在System.out.println(dateObject)
时所做的那样调用Date#toString()
只会返回dow mon dd hh:mm:ss zzz yyyy
格式的日期。另请参阅链接的javadoc。
答案 1 :(得分:0)
我有一个类似@BalusC的解决方案,除了这个将提供依赖于语言环境的格式:
String dateString = java.text.DateFormat.getDateInstance().format(dateObject);
换句话说,您的美国和欧盟客户将获得不同的格式。他们熟悉的一个。