मुझे अपने सर्वर और क्लाइंट के बीच की तारीखों को परिवर्तित करते समय एक समस्या का सामना करना पड़ रहा है, जहां दोनों जर्मनी में चल रहे हैं। क्लाइंट मशीनों पर क्षेत्रीय सेटिंग्स को यूके या जर्मनी दोनों में सेट किया जा सकता है। मुझे सर्वर से एक तिथि प्राप्त होती है जो सीईटी प्रारूप है, और मुझे इस समय यूआई पर ब्रिटेन के समय के रूप में प्रतिनिधित्व करने की आवश्यकता है। उदाहरण के लिए सर्वर से प्राप्त एक समय जैसे 01/07/2010 01:00:00 यूआई पर 01/07/2010 00:00:00 के रूप में प्रदर्शित किया जाना चाहिए। मैंने इस उद्देश्य के लिए एक कनवर्टर लिखा है, हालांकि इसे चलाने के दौरान '2 घंटे का समय अंतर हो रहा है। नीचे कोड है, कृपया आप मदद कर सकते हैं?वर्तमान यूके समय का प्रतिनिधित्व कैसे करें?
public class LocalToGmtConverter : IDateConverter
{
private readonly TimeZoneInfo timeZoneInfo;
public LocalToGmtConverter()
: this(TimeZoneInfo.Local)
{
}
public LocalToGmtConverter(TimeZoneInfo timeZoneInfo)
{
this.timeZoneInfo = timeZoneInfo;
}
public DateTime Convert(DateTime localDate)
{
var utcKind = DateTime.SpecifyKind(localDate, DateTimeKind.Utc);
return utcKind;
}
public DateTime ConvertBack(object fromServer)
{
DateTime serverDate = (DateTime)fromServer;
var utcOffset = timeZoneInfo.GetUtcOffset(serverDate);
var uiTime = serverDate- utcOffset;
return uiTime;
}
}
क्या आपको सर्वर से जर्मन समय या जीएमटी मिल रहा है? – Oded
संबंधित प्रश्न: http: // stackoverflow।कॉम/प्रश्न/253272 9/डेलाइट-सेविंग-टाइम-एंड-टाइमज़ोन-बेस्ट प्रैक्टिस – Oded
बेहतर दृष्टिकोण यूटीसी में दोनों बार होता है और आवश्यक –