Java 带有dateStyle和timeStyle的DateFormat分析字符串
这段代码是在控制台上编写的 错误:无法分析字符串“Nov 4,2003 8:14 PM”中的日期 我不明白为什么Java 带有dateStyle和timeStyle的DateFormat分析字符串,java,Java,这段代码是在控制台上编写的 错误:无法分析字符串“Nov 4,2003 8:14 PM”中的日期 我不明白为什么 String dateString = "Nov 4, 2003 8:14 PM"; // Get the default MEDIUM/SHORT DateFormat DateFormat format = DateFormat.getDateTimeInstance( DateFo
String dateString = "Nov 4, 2003 8:14 PM";
// Get the default MEDIUM/SHORT DateFormat
DateFormat format =
DateFormat.getDateTimeInstance(
DateFormat.MEDIUM, DateFormat.SHORT);
// Parse the date
try {
Date date = format.parse(dateString);
System.out.println("Original string: " + dateString);
System.out.println("Parsed date : " + date);
}
catch(ParseException pe) {
System.out.println("ERROR: could not parse date in string \"" +
dateString + "\"");
}
正如文档中所述,getDateTimeInstance(int-dateStyle,int-timeStyle)方法获取日期/时间格式化程序,该格式具有默认语言环境的给定日期和时间格式样式
您还必须传递locale对象。尝试使用getDateTimeInstance(int-dateStyle、int-timeStyle、Locale-aLocale)方法。最好检查导入库。我纠正你的错误,并给你一个完整的代码
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;
public class HelloWorld {
public static void main(String[] args) {
String dateString = "Nov 4, 2003 8:14 PM";
// Get the default MEDIUM/SHORT DateFormat
DateFormat format =
DateFormat.getDateTimeInstance(
DateFormat.MEDIUM, DateFormat.SHORT);
// Parse the date
try {
Date date = format.parse(dateString);
System.out.println("Original string: " + dateString);
System.out.println("Parsed date : " + date);
}
catch(ParseException pe) {
System.out.println("ERROR: could not parse date in string \"" +
dateString + "\"");
}
}
}由于导入了不正确的软件包,因此出现错误。 尝试导入以下包。这对我有用
import java.text.DateFormat;
import java.util.Date;
import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;
在我的电脑上,
DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.SHORT).format(new Date())
prints14/10/2015 4:35 PM
,它在您的电脑上打印什么?还有,DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.SHORT)。format(new Date())
prints2015年10月14日4:36 PM
,所以我想您必须使用类似于SimpleDateFormat
,类似于DateFormat format=newsimpledateformat(“mmmd,yyyy hh:mma”)代码>相反,我认为你为Date或其他类导入了错误的包,因为我在我的系统上得到了输出你导入了什么包我导入了:import java.text.DateFormat;导入java.text.ParseException;导入java.util.Date;