RethinkDB एक अद्भुत और बहुत आसान NoSQL डेटाबेस इंजन है। मैं पायथन डेटाटाइम ऑब्जेक्ट्स डालने का सबसे अच्छा तरीका ढूंढ रहा हूं। RethinkDB यूटीसी टाइमस्टैम्प strores, तो मुझे अपने डेटाटाइम ऑब्जेक्ट को सही प्रारूप में बदलने का एक समाधान मिला।रीथिंकडब में पायथन डेटाटाइम डालने का सबसे अच्छा तरीका क्या है?
मैं somethink RethinkDB में मेरे datetime वस्तु कन्वर्ट करने के लिए इस से थोड़ा समारोह का उपयोग समझ में:
import calendar
from datetime import datetime
import rethinkdb as r
def datetime_to_epoch_time(dt):
timestamp = calendar.timegm(dt.utctimetuple())
return r.epoch_time(timestamp)
title = u'foobar'
published_at = '2014-03-17 14:00'
# firts I convert 2014-03-17 14:00 to datetime
dt = datetime.strptime(published_at, '%Y-%m-%d %H:%M')
# then I store the result
r.table('stories').insert({
'title': title,
'published_at': datetime_to_epoch_time(dt),
}).run()
मेरे वर्तमान समय क्षेत्र सीईटी (GMT + 2 घंटे) इस rethinkdb में मेरी दिनांक के भंडारण के लिए एक अच्छा समाधान है है या एक बेहतर समाधान मौजूद है?
आपकी मदद
मुझे लगता है कि आप डेटाबेस में गलत समय भंडारण कर रहे हैं। रेखा 'dt = datetime.strptime (मेटा ['प्रकाशित_एट'], '% वाई-% एम-% डी% एच:% एम') 'परिणामस्वरूप एक डाटाटाइम ऑब्जेक्ट होगा जो टाइमज़ोन बेवकूफ है क्योंकि आपने निर्दिष्ट नहीं किया है टाइमज़ोन कहीं भी। क्या यह सीईटी में है? क्या यह यूटीसी में है? इस अस्पष्टता को देखते हुए, 'dt.utctimetuple() 'वापस लौटने वाला क्या है? यदि आप टाइमज़ोन से निपट रहे हैं, तो हमेशा टाइमज़ोन जागरूक डेटाटाइम ऑब्जेक्ट्स के साथ काम करना सबसे अच्छा है। अधिक जानकारी के लिए, उपरोक्त टिप्पणी के लिए [pytz] (http://pytz.sourceforge.net) – CadentOrange
+1 पर एक नज़र डालें - हमेशा अपने डेटाटाइम्स को प्रारूप में संग्रहीत करें जो टाइमज़ोन जानकारी संरक्षित है। यहां तक कि यदि आप बहुआयामी डेटा सेट डेलाइट सेविंग टाइम सेट के साथ काम नहीं कर रहे हैं तो समस्याएं हो सकती हैं। –
धन्यवाद, अब मैं डेटाटाइम में टाइमज़ोन के महत्व को समझता हूं। – k3z