怎么在action中自动生成当天日期(或者其他方法)

来源:百度知道 编辑:UC知道 时间:2024/06/17 14:02:38
public Date GetNowDate() throws ParseException{
// Date dt=new Date();
// SimpleDateFormat sdf=new SimpleDateFormat();
//
// System.out.println(sdf.format(dt));
// System.out.println(sdf.parse("yyyy-MM-dd").toString());
// return sdf.parse("yyyy-MM-dd");
// }
date dt=new date() 生成的格式不行,我要yyyy-MM-dd格式的
但是格式总是转换不了
sdf.format(dt) 得到的是String类型,我要Date类型的
怎么转?

你把你的dt存进数据库就明白了。
// SimpleDateFormat sdf=new SimpleDateFormat();
//
// System.out.println(sdf.format(dt));
// System.out.println(sdf.parse("yyyy-MM-dd").toString());
// return sdf.parse("yyyy-MM-dd");
不需要这些

可以呀,为什么还要改成别的呢。
那你还不如直接返回一个Date的对象。
sdf.parse("yyyy-MM-dd");这个己经是字符串了,怎么可能转换成Date呢。
或者再接收的地方再Date date = new Date(GetNowDate())
如果这样,何必还调用这个方法呢。

直接返回date,然后再在调用它的地方进行格式转换就行了。

首先System.err.println(dt)打印出
Mon Aug 17 21:46:44 CST 2009
这个格式的时间,是因为调用了Date类的toString方法.这是无论如何都改变不了的,无论怎么改变Date的打印格式,对Date的toString方法都不会有影响..

其实楼主需要的只是一个日期的格式那就用DateFormat规定下格式(yyyy-MM-dd)输出就好了.即使是toString方法得到的Mon Aug 17 21:46:44 CST 2009到头来也不是Date类对象,也只是Date对象的一种按格式输出的字符串而已..

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date d = new Date();
System.err.println(d);
String dateStr = df.format(d);
System.err.println();
Dat