我有Date对象的格式
/107/2013 12:00:00 AM
2013-07-01
我是怎么做到的?。
我试着用这个代码
public static Date formatearFecha( Date fecha ){
String fechaString = new SimpleDateFormat("yyyy-MM-dd").format(fecha) ;
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date fechaFormateada = null;
try {
fechaFormateada = df.parse(fechaString);
} catch (ParseException ex) {
Logger.getLogger(TestThings.class.getName()).log(Level.SEVERE, null, ex);
}
return fechaFormateada;
}
当我试着做一个测试时,我会得到这样的结果:
System.out.println( formatearFecha(myDate) );
Mon Sep 30 00:00:00 COT 2013
我的问题是在sql将java.util.date更改为java.sql.date时出现的
我解决了这个问题,所以:
private String formatearFecha( Date fecha ){
return new SimpleDateFormat("yyyy-MM-dd").format(fecha);
}
private java.sql.Date stringToSQLDate( String fecString ){
java.sql.Date fecFormatoDate = null;
try {
SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd", new Locale("es", "ES"));
return new java.sql.Date(sdf.parse(fecString).getTime());
} catch (ParseException ex) { }
return null;
}
和测试:
stringToSQLDate( formatearFecha( myDate ) );
首先:java.util.Date对象中从来没有存储格式。您可以将Date视为一个对象,该对象包含自UTC时区的epoch以来的毫秒长值。这个类有很少的方法,但没有时区偏移量,格式化模式等存储在其中。
其次,可以使用以下基本代码将计算机区域设置中的日期格式化为yyyy-MM-dd:
Date mydate = ...
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String mydateStr = df.format(mydate);
类似地,您可以将字符串“/107/2013 12:00:00 AM”解析为计算机区域设置中的日期对象,如下所示:
String mydateStr = "/107/2013 12:00:00 AM";
DateFormat df = new SimpleDateFormat("/dMM/yyyy HH:mm:ss aa");
Date mydate = df.parse(mydateStr);
以上两种方法可用于将格式化的日期字符串从一个更改为另一个。
有关格式化代码的更多信息,请参阅javadoc for SimpleDateFormat。
问题内容: 我试图改变对象的格式,我试图以这种方式做到这一点: 但这对对象没有任何影响,仍然是旧格式,无法真正理解为什么会这样。 问题答案: 请尝试将两个概念区分开:您的数据和向用户呈现的数据(或用于其他目的的格式设置,例如包含在JSON中)。的保持值7可以表示为(格式化成)7,07,007或7,同时仍保持刚好相同的值而没有任何格式化信息- 外的格式化谎言。同样,a 具有一个时间点,它可以表示为(
但这对对象没有任何影响,它还是用旧格式的,不能真正理解它为什么会那样。
问题内容: 我需要使用Java更改日期格式 问题答案: 如何使用从一种日期格式转换为另一种日期格式:
我要在数据库中输入任务的开始日期和截止日期。但是保存数据库的格式是这样的:Tue Apr 15 13:46:38 BST 2014 I want in yyyy-MM-dd格式。 这是我用来编写数据库中数据的代码: ----------形式---------
如何将此日期类型“Thu Feb 02 12:00:00 GMT-12:00 2012”更改为另一个日期类型“YYYY-MM-DD HH:MM:SS”?如果“Thu Feb 02 12:00:00 GMT-12:00 201 2”为字符串类型,如何转换“YYYY-MM-DD HH:MM:SS”的日期类型? java代码: 输出为字符串类型。我想获得日期类型输出,所以我添加了以下代码。