2011-05-24 10 views
10

मुझे कोई समस्या है, मेरे पास DateTimeOffset और DateTime है, और मैं जानना चाहता हूं कि ऑफ़सेट को डेटटाइम में कैसे जोड़ना है?सी # में डेटटाइम को डेटटाइम ऑफसेट जोड़ने के लिए कैसे करें?

डेटटाइम ऑफसेट उदा। 02 है: 00

उत्तर

7

प्रलेखन: http://msdn.microsoft.com/en-us/library/system.datetimeoffset.aspx का कहना है कि पहले से ही DateTimeOffset दोनों दिनांक समय और एक ऑफसेट शामिल हैं।

शायद आप डेटटाइम ऑफसेट के बजाय टाइमस्पेन का उपयोग करना चाहते हैं। टाइमस्पेन को डेटटाइम में जोड़ा जा सकता है।

0

आप AddMinutes या अपने DateTime उदाहरण के AddHours के लिए प्रासंगिक मूल्यों में पास करके यह हासिल कर सकते हैं

startDate.AddHours(2) 2 घंटे (द्वारा वर्तमान दिनांक समय वस्तु को बढ़ा देते घटती को यह होगा होगा -2)

या आप

TimeSpan ts = new TimeSpan(2,0,0);

की तरह एक समयावधि वस्तु intialize कर सकते हैं

अब आप अपने दिनांक समय वस्तु को यह जोड़ सकते हैं

startDate= startDate+ ts; 
-1

मान लीजिए कि आपको DateTime पर +2: 00 जोड़ने की आवश्यकता है। आप क्या कर सकते हैं,

DateTime dateTime = DateTime.Now.AddHours(2.0); 
+0

ठीक है, मुझे एहसास हुआ कि मैं इसे गलत तरीके से downvoted। क्या आप इसे संपादित कर सकते हैं ताकि मैं अपना वोट संशोधित कर सकूं? fyi: सिस्टम की तारीख से कम तारीख को घटाने पर मुझे समस्याएं थीं, जो यहां नहीं हुई थीं। –

4

DateTimeOffset class "समय में एक बिंदु, आम तौर पर एक तारीख और दिन के समय, समन्वित यूनिवर्सल समय (UTC) के सापेक्ष के रूप में व्यक्त प्रतिनिधित्व करता है।" इसमें DateTime मान और ऑफसेट दोनों शामिल हैं, इसलिए यदि आप ऑफसेट को DateTime पर जोड़ना चाहते हैं, तो आप कन्स्ट्रक्टर का उपयोग करके एक नया DateTimeOffset बनाना चाहते हैं, और फिर ऑफ़सेट मान को संशोधित करने के लिए फ़ंक्शन फ़ंक्शन का उपयोग करें।

var offset = new DateTimeOffset(DateTime.Now); 

, कैसे एक से दूसरे में बदलने के लिए, अंकगणित को निष्पादित पर उदाहरण के लिए this blog post देखें आदि

2

दुःख की बात है DateTimeOffset क्या एक सामान्य व्यक्ति यह के नाम से समझना होगा नहीं है। बस इसे एक ऑफसेट के साथ डेटटाइम डालें (शायद यह बिल्कुल ठीक नहीं है, लेकिन पर्याप्त बंद करें)। Imo यह पूरे .NET में सबसे खराब नामित वर्ग है। नाम सीधे SQL सर्वर afaik से आया था। आप जानकारी के लिए इस का उल्लेख कर सकते हैं:

http://www.danrigsby.com/blog/index.php/2008/08/23/datetime-vs-datetimeoffset-in-net/

संबंधित मुद्दे