我有一个需求。我想将日期对象转换为格式化的日期对象。
我的意思是,
`Date d = new Date();System.out.println(d);'
输出:2012年4月5日 星期四,GMT+05:30
我希望输出格式为2012年4月5日 星期四,时区为GMT+05:30,并且输出对象必须是日期而不是字符串。如果您不清楚,请告诉我。
谢谢。
不需要任何第三方API,只需使用DateFormat提供日期格式模式来解析/格式化日期。示例代码如下:
Date date = new Date();
DateFormat df = new SimpleDateFormat("dd/MMM/yyyy");
String formattedDate = df.format(date);
System.out.println(formattedDate.toUpperCase());
Date
类并覆盖public String toString();
即可。public class MyDate extends Date
{
@Override
public String toString()
{
DateFormat df = new SimpleDateFormat("dd/MMM/yyyy");
String formattedDate = df.format(this);
return formattedDate;
}
}
然后,在您的POJO中,初始化Date对象的位置:
Date databaseDate=new MyDate();
// initialize date to required value.
现在的databaseDate是一个日期对象,但它会在需要时给出你所需的格式。
编辑:数据库与编程语言的数据类型无关。当POJO插入到数据库中时,它们所有的值都会被转换为字符串。而对象如何转换为字符串是由该类的toString方法定义的。
我认为他想在System.out.println()中使用一个日期,所以我们可以尝试扩展Date类并重写toString()方法。
以下是代码:
import java.util.Date;
class date extends Date {
int mm,dd,yy;
date()
{
Date d = new Date();
System.out.println(d);
mm=d.getMonth();
dd=d.getDate();
yy=d.getYear();
}
public String toString()
{ Integer m2=new Integer(mm);
Integer m3=new Integer(dd);
Integer m4=new Integer(yy);
String s=m2.toString() + "/"+ m3.toString() + "/" + m4.toString();
return s;
}
}
public class mai
{
public static void main(String... args)
{
date d=new date();
System.out.println(d);
}
}
java.text.SimpleDateFormat
。 - vstm