Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 如何解析字符串;2012年10月24日“;是否转换为日期(dd-mm-yyyy)格式?_Java_Date_Simpledateformat - Fatal编程技术网

Java 如何解析字符串;2012年10月24日“;是否转换为日期(dd-mm-yyyy)格式?

Java 如何解析字符串;2012年10月24日“;是否转换为日期(dd-mm-yyyy)格式?,java,date,simpledateformat,Java,Date,Simpledateformat,我正在使用jdk-1.6。 我正在尝试分析字符串“24-10-2012”日期到日期(24-10-2012),但出现以下错误: java.text.ParseException: Unparseable date: "18-11-2012" java.text.DateFormat.parse(DateFormat.java:354) 我是这样分析的: SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy"); String

我正在使用jdk-1.6。 我正在尝试分析字符串“24-10-2012”日期到日期(24-10-2012),但出现以下错误:

java.text.ParseException: Unparseable date: "18-11-2012"
java.text.DateFormat.parse(DateFormat.java:354)
我是这样分析的:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
String currentDate = "24-10-2012";
 Date date = formatter.parse(currentDate);
印刷品

Wed Oct 24 00:00:00 CEST 2012
您发布的代码无法再现您的问题

我的假设是:您的异常是从一段代码中抛出的,而不是您所指控的错误。您可以尝试仔细分析堆栈跟踪,以追踪真正的罪犯。

当我运行时

SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
String currentDate = "24-10-2012";
Date date = formatter.parse(currentDate);
System.out.println(date);
System.out.println(formatter.format(date));
我明白了


正如我所料。您能澄清问题所在吗?

您可以将其用于格式“dd-mm-yyyy”


等一下。。如果你有一个正确的值,为什么你需要解析它? 无论如何,我用这个:

SimpleDateFormat oFormat = new SimpleDateFormat("yyyy-MM-dd");
String sDate = oFormat.format("24-10-2012");
它将于2012年10月24日出现。因此,如果您想解析为dd-MM-yyyy,只需将格式更改为您想要的格式

注:如果我的英语不好,很抱歉D

import java.util.Date;
import java.text.SimpleDateFormat;

public class SimpleFormatDate
{
  public static void main(String args[]){
  Date todaysDate = new java.util.Date();
  // Formatting date into  yyyy-MM-dd HH:mm:ss e.g 2008-10-10 11:21:10

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String formattedDate = formatter.format(todaysDate);
  System.out.println("Formatted date is ==>"+formattedDate);

  // Formatting date into  yyyy-MM-dd e.g 2008-10-10 
  formatter = new SimpleDateFormat("yyyy-MM-dd");
  formattedDate = formatter.format(todaysDate);
  System.out.println("Formatted date is ==>"+formattedDate);

  // Formatting date into  MM/dd/yyyy e.g 10/10/2008 
  formatter = new SimpleDateFormat("MM/dd/yyyy");
  formattedDate = formatter.format(todaysDate);
  System.out.println("Formatted date is ==>"+formattedDate);
  }
}
输出

Formatted date is ==>2008-10-10 13:03:54
Formatted date is ==>2008-10-10
Formatted date is ==>10/10/2008

java中的日期没有任何格式。阅读

发布完整的堆栈跟踪,这可能会有所帮助。提供环境详细信息,如jdk版本etcI,我认为应该可以。附近是否有其他使用日期格式的代码?请发布完整的堆栈跟踪?您确定没有在某处解析其他日期吗?“18-11-2012”与“24-10-2012”不同。@MozenRath Fair point,我想这会影响正在创建的格式化程序,而不是解析日期。不是downvoter,而是-以字符串形式解析日期以获取日期对象。由于上面评论中提到的原因,您可以格式化您的日期对象以获得字符串表示。谢谢,我正在收到您发布的输出。但我想要dd-mm-yyyy格式。怎么做?那我该怎么做?任何建议。
formatter.format(date)
,如我所说。它与代码中的格式化程序实例相同。谢谢,我将于2012年10月24日星期三00:00:00英国夏令时收到输出。但我想要dd-mm-yyyy格式。怎么做?我想你的意思是
dd-MM-yyyy
,因为
MM
表示分钟。文本已经是这种格式,所以你的问题没有意义,但我会更新我的答案。不,我只得到2012年10月11日星期四00:00:00。MM表示月份。我想要dd-MM-yyyy格式的日期。如果您尝试上面的示例,您应该会得到两行。@JeetuVerma您混淆了日期是什么以及它应该如何显示。日期没有格式,可以按任何方式显示。仅显示为文本,即字符串。似乎您想更改
Date
类的默认格式,我向您保证a)不是一个好主意b)不太可能更改。Date没有任何格式。它在时间上表示实例
SimpleDateFormat oFormat = new SimpleDateFormat("yyyy-MM-dd");
String sDate = oFormat.format("24-10-2012");
import java.util.Date;
import java.text.SimpleDateFormat;

public class SimpleFormatDate
{
  public static void main(String args[]){
  Date todaysDate = new java.util.Date();
  // Formatting date into  yyyy-MM-dd HH:mm:ss e.g 2008-10-10 11:21:10

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String formattedDate = formatter.format(todaysDate);
  System.out.println("Formatted date is ==>"+formattedDate);

  // Formatting date into  yyyy-MM-dd e.g 2008-10-10 
  formatter = new SimpleDateFormat("yyyy-MM-dd");
  formattedDate = formatter.format(todaysDate);
  System.out.println("Formatted date is ==>"+formattedDate);

  // Formatting date into  MM/dd/yyyy e.g 10/10/2008 
  formatter = new SimpleDateFormat("MM/dd/yyyy");
  formattedDate = formatter.format(todaysDate);
  System.out.println("Formatted date is ==>"+formattedDate);
  }
}
Formatted date is ==>2008-10-10 13:03:54
Formatted date is ==>2008-10-10
Formatted date is ==>10/10/2008