कल और कल कैसे प्राप्त करें


101

मेरा एक कोड है:

int MonthNow = System.DateTime.Now.Month;
int YearNow = System.DateTime.Now.Year;
int DayNow = System.DateTime.Now.Day;

मैं C # में कल और कल दिन, महीने और वर्ष कैसे प्राप्त कर सकता हूं?

बेशक, मैं सिर्फ लिख सकता हूं:

DayTommorow = DayNow +1;

लेकिन ऐसा हो सकता है कि कल दूसरे महीने या साल हो। क्या कल और आज का पता लगाने के लिए C # बिल्ट-इन टूल हैं?


के साथ समस्या है DayNow + 1या - 1अगर यह इस अभ्यस्त काम के महीने के पहले दिन है। DateTime.Now.Day वर्तमान दिन का पूर्णांक प्रतिनिधित्व है।
Gary.S

जवाबों:


126

आप इस जानकारी को एपीआई संदर्भ में सही पा सकते हैं ।

var today = DateTime.Today;
var tomorrow = today.AddDays(1);
var yesterday = today.AddDays(-1);

28
यदि संभव हो तो केवल वेबसाइट से लिंक करने के बजाय लिंक की गई वेबसाइट का प्रासंगिक हिस्सा पोस्ट करें
JMax

जेमैक्स, श्योर। लिंक DateTime.AddDays विधि के लिए है, जो दिनों को जोड़ने / घटाने की अनुमति देता है। यह अधिक सामान्य DateTime.Add विधि की तुलना में प्रश्न के संदर्भ में उपयोग करना आसान है।
तबरेज़ २०'११

5
... और वह आपके उत्तर का विस्तृत हिस्सा हो सकता है :)।
C4d

160
DateTime tomorrow = DateTime.Today.AddDays(1);
DateTime yesterday = DateTime.Today.AddDays(-1);

11
यह उत्तर साबित करता है कि नामकरण कितना महत्वपूर्ण है।
eomeroff

17

आज :

DateTime.Today

आने वाला कल :

DateTime.Today.AddDays(1)

बिता कल :

DateTime.Today.AddDays(-1)

16

आपको इसे इस तरह करना चाहिए, यदि आप कल और परसों 00:00 बजे समय प्राप्त करना चाहते हैं:

DateTime yesterday = DateTime.Today.AddDays(-1);
DateTime tomorrow = DateTime.Today.AddDays(1); // Output example: 6. 02. 2016 00:00:00

बस मन में नंगे अगर आप इसे इस तरह से करते हैं:

DateTime yesterday = DateTime.Now.AddDays(-1);
DateTime tomorrow = DateTime.Now.AddDays(1); // Output example: 6. 02. 2016 18:09:23

फिर आप एक दिन में वर्तमान समय घटा देंगे, और कल 00:00:00 समय पर नहीं।




2

चाल तारीखों में हेरफेर करने के लिए "डेटटाइम" का उपयोग करना है; केवल पूर्णांक और स्ट्रिंग्स का उपयोग करें जब आपको तिथि से "अंतिम परिणाम" की आवश्यकता होती है।

उदाहरण के लिए (छद्म कोड):

  1. "DateTime कल = अब + 1" प्राप्त करें

  2. निर्धारित तिथि, सप्ताह का दिन, महीने का दिन - जो भी आप चाहते हैं - परिणामी तिथि।


1

कल UTC में "स्थानीय" प्राप्त करने के लिए।

  var now = DateTime.Now;
  var yesterday = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0, DateTimeKind.Utc).AddDays(-1);

0

अपने परिणामों में अवांछित समय-सीमा जोड़ने से सावधान रहें, खासकर अगर तारीख एक वेब एपीआई के माध्यम से बाहर भेजने की जा रही है। इसके बजाय UtcNow का उपयोग करें, इसे समय-क्षेत्र-रहित बनाने के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.