我通过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
我的错误是什么? 可以告诉我任何人
谢谢。
答案 0 :(得分:1)
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
格式。
答案 1 :(得分:0)
将代码中的格式从yyyy-MM-dd
更改为dd-MM-yyyy
。一个简单的调试就可以解决这个问题。
答案 2 :(得分:0)
见下面的工作程序。请参阅解析和格式化方法。
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);
}
}
}
答案 3 :(得分:0)
我认为您需要将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);
让我知道状态
快乐编码