c# - सेटिंग प्लगइन डेटटाइम संपत्ति के साथ ठीक से काम नहीं कर रहा है



xamarin win-universal-app (1)

सेटिंग प्लगइन डेटटाइम को यूटीसी में परिवर्तित करता है, इसलिए यह आपके टाइमज़ोन में दिखता है जब यह 1/1/0001 12:30:00 पूर्वाह्न को यूटीसी में परिवर्तित करता है तो यह 1/1/0001 12:00:00 पूर्वाह्न हो जाता है। नतीजतन जब मूल्य सेटिंग्स से वापस पढ़ा जाता है तो आपको 1/1/0001 12:00:00 पूर्वाह्न मिलता है।

यदि आप अपनी तिथि के लिए Kind सेट करते हैं तो प्लगइन को सही तरीके से काम करना चाहिए:

Settings.TimeRemaining = DateTime.SpecifyKind(new DateTime().AddMinutes(30), DateTimeKind.Utc);

मैं सेटिंग प्लगइन का उपयोग कर रहा हूं और मैंने कुछ बूलियन स्टोर करने के लिए काम किया है। अब मैं डेटटाइम ऑब्जेक्ट को प्रबंधित करना चाहता था। मैंने सेटिंग्स.cs में निम्नलिखित जोड़ा:

private const string TimeRemainingKey = "time_remaining";
private static readonly DateTime TimeRemainingDefault = DateTime.Now;

public static DateTime TimeRemaining
{
    get
    {
        return AppSettings.GetValueOrDefault(TimeRemainingKey, TimeRemainingDefault);
    }
    set
    {
        AppSettings.AddOrUpdateValue(TimeRemainingKey, value);
    }
}

मूल रूप से मैंने अपने कोड में निम्नलिखित का उपयोग किया:

Settings.TimeRemaining = new DateTime().AddMinutes(30);

जब मैंने कुछ लॉगिंग जोड़ा तो मेरे पास यह था:

DateTime dt = new DateTime();
Debug.WriteLine(dt.ToString());
dt = dt.AddMinutes(30);
Debug.WriteLine(dt.ToString());
Settings.TimeRemaining = dt;
Debug.WriteLine(Settings.TimeRemaining.ToString());

यह प्रिंट करता है:

1/1/0001 12:00:00 पूर्वाह्न

1/1/0001 12:30:00 पूर्वाह्न

1/1/0001 12:00:00 पूर्वाह्न

यह व्यवहार क्यों होता है?





win-universal-app