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 使用自定义格式的字符串到日期对象转换_Java_Date_Datetime_Java.util.date - Fatal编程技术网

Java 使用自定义格式的字符串到日期对象转换

Java 使用自定义格式的字符串到日期对象转换,java,date,datetime,java.util.date,Java,Date,Datetime,Java.util.date,我需要将日期转换为dd/MM/yyyy格式,并将其存储到日期对象中。 我尝试了,但没有得到想要的结果。我的代码: Date date=new Date(); System.out.println("Normal Date :"+date); DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); String strdate=formatter.format(date); System.out.

我需要将日期转换为dd/MM/yyyy格式,并将其存储到日期对象中。 我尝试了,但没有得到想要的结果。我的代码:

    Date date=new Date();
    System.out.println("Normal Date :"+date);
    DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
    String strdate=formatter.format(date);
    System.out.println("String date: "+strdate);
    date=(Date)formatter.parse(strdate);
    System.out.println("Formated Date : "+date);
电流输出


正常日期:2015年2月18日星期三10:54:40

字符串日期:2015年2月18日

形成日期:2015年2月18日星期三00:00:00

期望输出


正常日期:2015年2月18日星期三10:54:40

字符串日期:2015年2月18日

形成日期:2015年2月18日


我怎样才能做到这一点

日期对象可以从特定格式创建,但当您打印它时,它将始终按照其
.toString()
实现进行打印


因此,你将无法实现你想要实现的目标

日期对象以国际标准存储日期。如果你想按你想要的方式打印,请使用这个

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
System.out.println(dateFormat.format(yourdate));
可能重复的

将其作为
sqlDate=newjava.sql.Date(utilDate.getTime())

事实上,这不仅仅是为了展示紫色。我需要将它存储在数据库中@Temporal(TemporalType.DATE)@Column(name=“from”,nullable=false,length=10)public DATE getFrom(){return this.from;}public void setFrom(DATE from){this.from=from;}最大长度为10@Dev,然后将其存储在数据库中。@Dev然后您可以将其作为varchar存储在数据库中。但我不明白为什么要这样存储,因为这样数据库中的日期比较就会很混乱。将日期存储为SQL日期是一种很好的做法,无论何时显示日期,都可以在will@Dev
Date
只是unix纪元以来毫秒数的容器,它不包含任何格式信息。只需将
Date
值按原样存储到数据库中,假设列支持日期value@prasadmadanayake,如果我将类型更改为varchar,我可以存储它。但我无权这么做。这就是为什么我问这样的问题
System.out.println(“格式化日期:+formatter.format(日期))?记住,“格式”是不相关的。重要的是数据
Date
只是Unix时代以来毫秒数的容器,它没有格式的概念。如果要显示日期,请使用适当的
DateFormat
@MadProgrammer,我对列有此约束@列(name=“from”,nullable=false,length=10)。因此无法存储完整的日期。它返回一个错误。我没有自动调整大小来改变它,那么唯一的选择就是使用类似于
formatter.format(date)
的东西,并将其存储为文本(可能是文本的副本)