मेरे पास एक मोंगो सी # कार्यान्वयन है जो यूटीसी के रूप में डेटाटाइम स्टोर करता है।मोंगो में यूटीसी और स्थानीय डेटाटाइम स्टोर करना
MongoDB.Bson.Serialization.Options.DateTimeSerializationOptions options =
MongoDB.Bson.Serialization.Options.DateTimeSerializationOptions.UtcInstance;
var serializer =
new MongoDB.Bson.Serialization.Serializers.DateTimeSerializer(options);
MongoDB.Bson.Serialization.BsonSerializer.RegisterSerializer(
typeof(DateTime),
serializer);
मुझे यूटीसी के साथ उपयोगकर्ता स्थानीय टाइमज़ोन को स्टोर करने की आवश्यकता भी है। व्याख्या करने के लिए, मुझे लगता है कि जैसे
DateTime WorkItemToCompleteBy{get; set;}
[BsonDateTimeOptions(Kind = DateTimeKind.Unspecified)]
DateTime WorkItemToCompleteByLocal{get; set;}
चला जाता है दो गुण मैं स्थानीय संपदा और अन्य एक में संबंधित यूटीसी मूल्य में ऑस्ट्रेलियाई/अमेरिकी// भारतीय अन्य बार स्टोर करने के लिए करना चाहते हैं। चूंकि दर्जनों समय क्षेत्रों से निपट रहा हूं, मेरे पास कोड है जो यूटीसी को वांछित टाइमज़ोन में परिवर्तित करता है और इसे WorkItemToCompleteByLocal प्रॉपर्टी में संग्रहीत करता है। मैं मोंगो को इस मान को 'as-is' स्टोर करना चाहता हूं और इसे वापस कर दूंगा। समस्या यह है कि मोंगो हमेशा इसे आईएसओडीएट के रूप में स्टोर करता है और मूल्य को यूटीसी संस्करण में परिवर्तित करता है। व्याख्या करने के लिए। तो यूटीसी 0730 घंटे है और मैं ब्रिस्बेन समय की गणना करने के लिए 1730Hours और WorkitemToCompleteByLocal के लिए सेट, वे सहेज
रूप"WorkItemToCompleteBy" : ISODate("2013-06-05T07:30:00Z"),
"WorkItemToCompleteByLocal" : ISODate("2013-06-05T12:00:00Z"),
मोंगो स्थानीय रूप में उपलब्ध कराए गए समय की व्याख्या, सर्वर भारत में जा रहा है और करने के लिए इसे coverts 1200 घंटों के बराबर यूटीसी। हालांकि यह 1730 (आईएसटी अल्बीट) के रूप में मूल्य वापस प्राप्त करता है, यह मेरे उद्देश्य को हरा देता है और मुझे मोंगो पर स्थानीय समय पर आधारित प्रश्नों को चलाने से रोकता है। विचारों से बाहर हूँ। WordItemToCompleteByLocal दिनांक 'As-Is' को संशोधित किए बिना
मुझे एक नई डेटटाइम (स्थानीय। प्रिय, स्थानीय। मॉन्थ ......., Kind.Utc) को हाइड्रेट करके यूटीसी के रूप में 'लोकल' टाइमज़ोन को दोबारा शुरू करके सिस्टम को मूर्ख बनाकर एक काम मिल गया। वह मूल्य अब, डेटा को संग्रहीत किया जाता है और मेरा तर्क जानता है कि स्थानीय कॉलम स्थानीय मूल्य को किस प्रकार कहता है (चाहे वह अपनाए गए काम के कारण यूटीसी कहता है)। मैं इसे तब तक उपयोग करूंगा जब तक मुझे एक बेहतर उत्तर न मिले। –
मैंने स्थानीय समय से निपटने के लिए मोंगोडीबी के जेआईआरए में एक आइटम जोड़ा है, जो इस एसओ प्रविष्टि को भी संदर्भित करता है (एक साइन-अप की आवश्यकता है): https://jira.mongodb.org/browse/DOCS-4086 – akauppi
देखें http: //stackoverflow.com/a/38934986/194717 – Tony