我在将JSONDate正确插入MongoDB时遇到问题。我正在使用ColdFusion 11,MongoDB 3.01和Mongo-Java驱动程序。
日期作为字符串插入数据库。
<cfset utilDate = CreateObject("java","java.util.Date") />
<cfset utilJSON = CreateObject("java", "com.mongodb.util.JSON") />
<cfset SimpleDaxteFormat = CreateObject("java", "java.text.SimpleDateFormat").init("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") />
<cfset SimpleDateFormat2 = CreateObject("java", "java.text.SimpleDateFormat").init("yyyy-MM-dd'T'HH:mm:ss.SSS'+01:00'") />
<cfset jodaIso = CreateObject("java", "org.joda.time.format.ISODateTimeFormat") />
<cfset isoDate1 = "2015-03-25T15:23:57.000Z" />
<cfset isoDate2 = "2015-03-25T15:23:57.000+01:00" />
<cfset isoDate3 = "2015-03-25T15:23:57+01:00" />
<!--- Joda Date-Time --->
<cfset jMillis = jodaIso.dateTimeNoMillis() />
<cfset jpdt = jMillis.parseDateTime(isoDate3) />
<cfset jToDateIso = jpdt.toDateTimeISO() />
<!--- Document --->
<cfset doc = {
"date1" = SimpleDateFormat.parse(isoDate1),
"date2" = SimpleDateFormat2.parse(isoDate2),
"date3" = jToDateIso.toDate()
} />
<!--- JSON parsing --->
<cfset doc = utilJSON.parse(SerializeJSON(doc)) />
<cfset col.save(doc) />
显示MongoDB集合,插入成功但日期格式化为字符串:
> db.datetest.find().pretty()
{
"_id" : ObjectId("5512c4fd1e106620a5b49dac"),
"date1" : "März, 25 2015 15:23:57",
"date2" : "März, 25 2015 15:23:57",
"date3" : "März, 25 2015 15:23:57"
}
如何将日期插入Date
s而不是字符串?