2013-05-21 40 views
1

我想從jQuery post發送date_time到我們的服務器我們使用mongoDB作爲後端和使用django_tastypie_mongoengine張貼到目前爲止我已經嘗試把日期=「2010-11-10T03:07: 43「和日期=」2013-05-21T02:17:55.544000「在我的jQuery,但它每次都失敗。POST中的Datetime字段的精確synatx

models.py:

class ProblemDetail(Document): 
    date = DateTimeField(default=datetime.datetime.now) 

API.py

class ProblemDetailResource(resources.MongoEngineResource) 

class Meta: 

    queryset = ProblemDetail.objects.all() 
    resource_name = 'problem' 
    allowed_methods = ('get', 'post', 'put', 'delete','patch') 
    authorization = authorization.Authorization() 

html頁面

var date = "2000-11-10T03:07:43" 

data = JSON.stringify({"date":date}) 

$.ajax({ 

url: 'http://xyz.in/api/v1/problem/?format=json', 

type: 'POST',    

contentType: 'application/json', 

data: data, 

dataType: 'json', 

processData: false, 

success: function(data){ 

alert("done!") 

} 

我想知道發送日期

+0

爲什麼不以毫秒爲單位存儲日期時間字符串?這是避免編程語言和數據庫系統之間衝突的最簡單方法。 – reporter

+0

謝謝@reporter的幫助,但爲此,我必須在mongoDB中使用StringField是否有一種方法可以在日期時間字段只POST –

+0

Uhm你確定字符串'2000-11-10T03:07:43'是一個正確的時間字符串在Javascript中?在我看來,儘管我可能是錯的。 – reporter

回答

0

我最後的確切語法得到了答案:

var date = new Date() 
date = d.getFullYear() + '-' + (d.getMonth()+1) + '-' + d.getDate() + 'T' + d.getHours() + ':' + d.getMinutes() + ':' +d.getSeconds() 

settings.py 
USE_TZ = True 

出現在新Date()中的時區是許多開發服務器中出現錯誤的原因。 我正在Python中使用Django和應用程序部署在Apache中