java - 改变Java的日期格式

标签 java date

我有格式为

的日期对象
 /107/2013 12:00:00 AM

我的预期值(value):

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 时区纪元以来的毫秒长值的对象。该类有很少的方法,但没有存储时区偏移、格式化模式等。

其次,可以使用以下基本代码将日期格式化为计算机区域设置中的 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);

上面的两种方法可用于将格式化日期字符串从一种更改为另一种。

See the javadoc for SimpleDateFormat有关格式化代码的更多信息。

关于java - 改变Java的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18628059/

相关文章:

android - 两天之间很难从Sqlite数据库中获取数据

java - 如何在 Java 中使用 Clock 类从当前日期减去 2 个月

java - <%@ 页面导入 ="com.sql.*"%> 错误

java - 为什么我的输出文件的大小小于原始文件的大小?

java - 在 GAE Java 上将文件上传到 Google 存储

java - 重新运行 TestNG 测试会导致测试永远运行

java - JLabel getToolTipText() 不返回已设置的工具提示

java - 更改 Java 中复杂日期的格式

c# - mysql存储过程insert语句 "22-12-2010"修改日期格式为 "2010-12-22"

java - GWT中的Util和sql日期转换,