java – SimpleDateFormat String

我有这个代码块,其中dateFormat.format的参数将永远是一个字符串,这就是为什么我这样做.toString()在这里.我收到错误“无法格式化给定的对象作为一个日期”.

有没有办法做到这一点?请注意,字符串来自数据库,我使用新的Date()作为示例.

SimpleDateFormat dateFormat = new SimpleDateFormat("MMMMM dd,yyyy");
String sCertDate = dateFormat.format(new Date().toString());

解决方法

DateFormat#format接受日期,而不是字符串.

使用

String sCertDate = dateFormat.format(new Date());

如果您有一个来自数据库的字符串是特定的格式,并且要转换为日期,则应使用parse方法.

@Sonesh – 让我们假设你在数据库中有一个字符串,恰好代表一个Date(可能最好将对象存储在数据库中作为日期),那么你首先将它解析成你想要的格式,然后将其格式化到你想要的字符串格式.

// Assumes your date is stored in db with format 08/01/2011
SimpleDateFormat dateFormatOfStringInDB = new SimpleDateFormat("MM/dd/yyyy");
Date d1 = dateFormatOfStringInDB.parse(yourDBString);
SimpleDateFormat dateFormatYouWant = new SimpleDateFormat("MMMMM dd,yyyy");
String sCertDate = dateFormatYouWant.format(d1);

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...