2010-11-01 17 views
5

मेरे पास एक ऐसी साइट है जहां उपयोगकर्ता पोस्ट कर सकते हैं। उपयोगकर्ता दुनिया भर से हो सकते हैं, इसलिए जब वे पोस्ट करते हैं, तो मैं दिनांक तिथि को डेटटाइम के रूप में संग्रहीत कर रहा हूं। UtcNow। मैं JQuery समय पहले प्लग का उपयोग कर रहा हूं, पोस्ट स्टैट ओवरफ्लो (1 मिनट पहले इत्यादि ...) के समान पोस्ट डेटा दिखाने के लिए, लेकिन मुझे यकीन नहीं है कि सिस्टम में स्थानीय समय पर सिस्टम में संग्रहीत तिथि को कैसे परिवर्तित किया जाए? यहां मैं उपयोग कर रहा हूं:सी # यूटीसी उपयोगकर्ताओं के लिए स्थानीय समय

public static MvcHtmlString ConvertToLocalTime(this HtmlHelper htmlHelper, DateTime date) 
    { 
     DateTime convertedDate = DateTime.SpecifyKind(DateTime.Parse(date.ToString()),DateTimeKind.Utc); 
     return MvcHtmlString.Create(convertedDate.ToLocalTime().ToString()); 
    } 

यह समय स्थानीय समय सर्वर में कनवर्ट करने के लिए देखता है लेकिन मुझे स्थानीय उपयोगकर्ताओं के लिए इसकी आवश्यकता है। मैं क्या गलत कर रहा हूं? मैं .NET MVC 2 और .NET 4.0

उत्तर

10

से कोड का उपयोग करके अपने टाइमज़ोन में कनवर्ट कर सकते हैं सामान्य रूप से, आप सर्वर के सटीक समय क्षेत्र को सर्वर के पक्ष में नहीं जान पाएंगे। सर्वर के स्थानीय समय पर उपयोगकर्ता के स्थानीय समय में कनवर्ट करने की कोशिश करने के बजाय, यूटीसी में क्लाइंट को समय भेजें और ग्राहक को समय बदल दें। TIMEAGO प्लगइन यह स्वचालित रूप से जब तक आप इसे पूर्ण ISO8601 प्रारूप में समय देता है:

<abbr class="timeago" title="2008-07-17T09:24:17Z">July 17, 2008</abbr> 

Z टाइमस्टैम्प के अंत में महत्वपूर्ण है; इसका मतलब यूटीसी है।

+0

सहायता के लिए धन्यवाद! मैं पोस्ट करने के लिए AJAX का उपयोग कर रहा हूं और सोच रहा था कि टाइमएगो किसके साथ काम करता है। लाइव? – Paul

+8

दिलचस्प तथ्य - अंत में जेड यह है कि इसका सामान्य नाम, "ज़ुलू समय" देता है :) – MattDavey

0

का उपयोग कर रहा हूं क्या आपके पास वर्तमान उपयोगकर्ता की संस्कृति है? यदि ऐसा है तो आप C# - Convert UTC/GMT time to local time

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