Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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字符串转换为日期对象_Java_String_Date - Fatal编程技术网

如何将java字符串转换为日期对象

如何将java字符串转换为日期对象,java,string,date,Java,String,Date,我有一根绳子 String startDate = "06/27/2007"; 现在我必须得到Date对象。My DateObject的值应与startDate的值相同 我是这样做的 DateFormat df = new SimpleDateFormat("mm/dd/yyyy"); Date startDate = df.parse(startDate); 但是输出是格式的 太平洋标准时间2007年1月27日00:06:00 “mm”是指日期的“分钟”片段。对于“月”部分,使用“MM”

我有一根绳子

String startDate = "06/27/2007";
现在我必须得到Date对象。My DateObject的值应与startDate的值相同

我是这样做的

DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
Date startDate = df.parse(startDate);
但是输出是格式的

太平洋标准时间2007年1月27日00:06:00

“mm”是指日期的“分钟”片段。对于“月”部分,使用“MM”

因此,请尝试将代码更改为:

DateFormat df=新的简化格式(“MM/dd/yyyy”);
datestartdate=df.parse(startDateString);
编辑: DateFormat对象包含日期格式定义,而不是日期对象,该对象只包含日期,不涉及格式。 在讨论格式化时,我们讨论的是以特定格式创建日期的字符串表示形式。请参见此示例:

导入java.text.DateFormat;
导入java.text.simpleDataFormat;
导入java.util.Date;
公共类日期测试{
公共静态void main(字符串[]args)引发异常{
字符串startDateString=“06/27/2007”;
//此对象可以解释以MM/dd/yyyy格式表示日期的字符串
DateFormat df=新的简化格式(“MM/dd/yyyy”);
//从字符串转换为日期
datestartdate=df.parse(startDateString);
//以默认格式打印日期。
//在这里,需要注意的是日期的各个部分
//已正确解释,如日、月、年等。
System.out.println(“日期,默认格式:“+startDate”);
//转换为日期对象后,可以
//返回到使用任何所需格式的字符串。
字符串startDateString1=df.format(startDate);
System.out.println(“格式为MM/dd/yyyy:+startDateString1的日期”);
//使用替代格式再次转换为字符串
DateFormat df2=新的简化格式(“dd/MM/yyyy”);
字符串startDateString2=df2.format(startDate);
System.out.println(“格式为dd/MM/yyyy:+startDateString2的日期”);
}
}
输出:

Date, with the default formatting: Wed Jun 27 00:00:00 BRT 2007
Date in format MM/dd/yyyy: 06/27/2007
Date in format dd/MM/yyyy: 27/06/2007

月是毫米,分钟是毫米。

您基本上有效地将字符串格式的日期转换为日期对象。如果您在此时打印出来,您将获得标准的日期格式输出。为了在此之后对其进行格式化,您需要将其转换回具有指定格式(之前已指定)的日期对象

var startDate = "06/27/2007";
startDate = new Date(startDate);

console.log(startDate);
简明版本:

String dateStr = "06/27/2007";
DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
Date startDate = (Date)formatter.parse(dateStr);  

为ParseException添加一个try/catch块,以确保格式是有效的日期。

如果我打印startDate,我仍然会看到它的格式是Mon May 23 00:00:00 PDT 2011。@mihsate如果在代码中打印日期,它的格式类似于Mon May 23 00:00:00 PDT 2011。但是我需要一个类似于字符串06/27/2007的日期对象。哦,我很理解这段代码只是将字符串转换为有效的java日期对象。它不会影响打印格式。然后它就变成了另一个日期对象。您使用“格式”方法以所需格式显示它。但这又是字符串。你的代码中是否可能有一个与startDateString格式相同的日期对象?我不明白这个问题。日期对象的默认“格式”如下:2007年1月27日00:06:00 PST。如果要更改它,需要使用DateFormat类。。。日期只是一个对象,从技术上讲,它甚至没有“格式”,它只是存储有关日期的数据。。。重写其上的toString方法可能会提供不同的输出,但这就是DateFormat的作用,以保持所有日期对象的完整性和一致性。另一方面,如果要在应用程序中始终使用此类型的格式,您可以对date对象进行子类化,并拥有一个CustomDate,该CustomDate上会有帮助器方法来返回所需的格式类型,以及可能的更多自定义信息。您的月份格式字符串错误。它必须是
MM
而不是
MM
“找不到符号DateFormat”。请在下次包含导入内容…目前有效,但
Date(String)
构造函数已被弃用,将来可能会被完全删除。此问题针对java,您发布的代码是javascript。Java不是javascript.DateFormat DateFormat=新的SimpleDataFormat(“MM/dd/yyyy”);日期startDate=null;尝试{startDate=dateFormat.parse(“03/04/1975”);String-foramtedDate=dateFormat.format(startDate);System.out.println(“在格式化日期之后是=“+foramtedDate”);//}catch(ParseException e){//TODO自动/生成的catch块e.printStackTrace();}
String startDateString = "06/27/2007";
DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
Date startDate;
try {
    startDate = df.parse(startDateString);
    String newDateString = df.format(startDate);
    System.out.println(newDateString);
} catch (ParseException e) {
    e.printStackTrace();
}
String dateStr = "06/27/2007";
DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
Date startDate = (Date)formatter.parse(dateStr);