我有这个代码块,这里的参数dateFormat.format
始终是string
多数民众赞成在我.toString()
这里做的原因。我收到错误消息“无法将给定对象格式化为日期”。
有什么办法吗?请注意,字符串来自数据库,我在这里使用new 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(将对象存储在数据库中作为日期会更好吗?),然后将其首先设置parse
为所需的格式,然后将format
其设置为您想要的字符串格式。
// 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);
下面是SimpleDateFormat的设置。 下面是开发人员文档中可解析日期字符串的可能差异列表。正如您所看到的,它们中没有一个在时区中有冒号。 我的第二个问题是当我得到一个时区设置为Z的日期字符串时,这是将时区设置为GMT的标准,相当于0000。然而,我又得到了一个ParseException。下面是日期字符串的一个示例。 提前致谢
问题内容: 我有日期主要集中在形式和。我想模式匹配。 为此目的编写正则表达式很简单吗?我是regex的新手,所以不胜感激任何资源达标可以使我快速入门吗? 问题答案: 如果您试图在字符串中查找这些日期符号,那么正则表达式确实是一个不错的选择。您可以使用此正则表达式: 在此处查看实际操作:http : //rubular.com/r/qZOTsUikbo。注意:这也匹配“ 日期 ” 。如果这对您来说是
问题内容: 将日期转换为其他格式的字符串时遇到问题。日期: 我想将此格式转换为另一种格式:。 当我尝试将其转换时,使用以下方法会得到不同的结果: 我得到了错误的结果,该月已替换为分钟: 问题答案: 这是错误的。这应该是。有关将日期从一种格式转换为另一种格式的更多详细信息,请参见此http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDat
我在将日期转换为不同格式的字符串时遇到了问题。日期: 我想将此格式转换为另一种格式:。 当我尝试转换它时,我会得到不同的结果: 我得到了一个错误的结果,月被替换成了分钟:
问题内容: 我想在单词中插入“ at”一词,以便日期看起来像: 2010年5月26日,星期三,上午11:17 我可以使它看起来像没有 2010年5月26日,星期三,上午11:17 通过使用 如何插入“ at”一词? 问题答案: 您可以使用单引号将文字转义。 这将在2010年5月26日星期三上午11:17输出
问题内容: 我试图根据给定的语言环境以不同的方式格式化Java中的日期。例如,我希望英语用户看到“ 2009年11月1日”(格式为“ MMM d,yyyy”),而挪威用户希望看到“ 1. nov。2009”(“ d。MMM。yyyy”)。 如果将语言环境添加到SimpleDateFormat构造函数中,则月份部分工作正常,但是其余部分呢? 我希望可以将与语言环境配对的格式字符串添加到SimpleD