繁体   English   中英

如何在Java中更改日期格式?

[英]how to change date format in java?

我通过jsp页面将日期输入作为字符串以dd-mm-yy的格式输入。 因为这种格式比较好理解。 但是现在我想将日期以yyyy-MM-dd HH:mm:ss格式存储在我的数据库中。 我正在使用以下代码。

try
    {       
    String s="30-04-2013";
    SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    d1=new SimpleDateFormat("yyyy-MM-dd").parse(s);
    System.out.println(d1);
    System.out.println(ft.format(d1));
    } catch(Exception e) {
        System.out.println("Exception:"+e);
    }

我的Jsp日期格式为dd-mm-yy ,但给出的答案为

Tue Oct 04 00:00:00 IST 35
0035-10-04 00:00:00

我怎么了 可以告诉我任何人

谢谢。

d1=new SimpleDateFormat("yyyy-MM-dd").parse(s);

应该

d1=new SimpleDateFormat("dd-MM-yyyy").parse(s);

因为您提供的输入日期字符串String s="30-04-2013"; 格式为dd-MM-yyyy 因此,要对此进行解析,您需要在SDF中提供dd-MM-yyyy格式。

将代码中的格式从yyyy-MM-dd更改为dd-MM-yyyy 一个简单的调试就可以解决这个问题。

参见下面的工作程序。 请参阅解析和格式化方法。

import java.text.SimpleDateFormat;
public class DateParsing {

    public static void main(String args[]) {

        String s = "30-04-2013";
        SimpleDateFormat ft = new SimpleDateFormat("dd-MM-yyyy");
        SimpleDateFormat nt = new SimpleDateFormat("yyyy-MM-dd");
        try {
            System.out.println(nt.format(ft.parse(s)));
        }

        catch (Exception e) {
            System.out.println("Exception:" + e);
        }
    }

}

我认为您需要将Date对象传递给SimpleDateFormat类的format()方法,而不是将字符串传递给它

只是尝试做如下

SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formatted_date = ft.format(new Date());
System.out.println(formatted_date);

让我知道状态

快乐编码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM