Java 使用自定义格式的字符串到日期对象转换
我需要将日期转换为dd/MM/yyyy格式,并将其存储到日期对象中。 我尝试了,但没有得到想要的结果。我的代码: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.
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@DevDate
只是unix纪元以来毫秒数的容器,它不包含任何格式信息。只需将Date
值按原样存储到数据库中,假设列支持日期value@prasadmadanayake,如果我将类型更改为varchar,我可以存储它。但我无权这么做。这就是为什么我问这样的问题System.out.println(“格式化日期:+formatter.format(日期))代码>?记住,“格式”是不相关的。重要的是数据Date
只是Unix时代以来毫秒数的容器,它没有格式的概念。如果要显示日期,请使用适当的DateFormat
@MadProgrammer,我对列有此约束@列(name=“from”,nullable=false,length=10)。因此无法存储完整的日期。它返回一个错误。我没有自动调整大小来改变它,那么唯一的选择就是使用类似于formatter.format(date)
的东西,并将其存储为文本(可能是文本的副本)