2010-03-19 15 views
5

पर कनवर्ट करें मैं वीओआईपी कॉल के लिए पीबीएक्स के साथ काम कर रहा हूं। पीबीएक्स का एक पहलू यह है कि आप सीडीआर पैकेज प्राप्त करना चुन सकते हैं। उन पैकेजों में 2 टाइमस्टैम्प हैं: "utc" और "local", लेकिन दोनों हमेशा एक जैसा दिखते हैं।स्थानीय समय (10 अंक संख्या) को एक पठनीय डेटाटाइम प्रारूप

यहां टाइमस्टैम्प का एक उदाहरण दिया गया है: "1268927156"।

पहली बार, इसमें कोई तर्क नहीं दिखता है। इसलिए मैंने इसे कई तरीकों से बदलने की कोशिश की, लेकिन बिना किसी अच्छे परिणाम के। उस मूल्य को आज सुबह 11 बजे (+ 1 जीएमटी) प्रदान करना चाहिए।

बातें मैंने कोशिश की:

  • Datetime dt = नए Datetime (संख्या);
  • टाइम्सpan ts = नया टाइम्सpan (संख्या);
  • दिनांक समय UTC = नए दिनांक समय (संख्या + 504911232000000000, DateTimeKind.Utc)

और कुछ अन्य मैं अभी याद नहीं कर सकते।

क्या मुझे यहां कुछ बेवकूफ याद आ रही है? अग्रिम

+0

क्या ये कक्षाएं ToString या प्रारूप विधि के साथ नहीं आती हैं? – lexu

उत्तर

12

में

धन्यवाद इस Unix बार की तरह लग रहा है।

१२६८९२७१५६ = गुरु, 18 मार्च 2010 15:45:56 GMT

और एक कोड नमूना:

DateTime startDate = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); 
DateTime time = startDate.AddSeconds(1268927156); 
+0

मुद्दा तय, सभी महान जवाब, धन्यवाद – Terry

2

(। अवधि के बाद कोई सेकंड के) एक यूनिक्स टाइमस्टैम्प होने के लिए लगता है

DateTime translated = new DateTime(1970,1,1).AddSeconds(1268927156); 

आप की तारीख और समय के बाद आप थे ...

1

देना चाहिए मुझे लगता है कि यह एक यूनिक्स टाइमस्टैम्प, लो है

यूनिक्स टाइमस्टैम्प समय यूनिक्स काल (जनवरी 1970 00:00:00 GMT के 1) के बाद से सेकंड की संख्या में मापा

वहाँ एक codeproject article समझा प्रतिनिधित्व करता है: जीआईसी निम्नलिखित होगा रूपांतरण। मूल रूप से आप हो जाएगा निम्नलिखित क्या करने की जरूरत:

// First make a System.DateTime equivalent to the UNIX Epoch. 
System.DateTime dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); 
// Add the number of seconds in UNIX timestamp to be converted. 
dateTime = dateTime.AddSeconds(timestamp); 
1

कि एक यूनिक्स टाइमस्टैम्प है, जो कोई तरह दिखता है। 01 जनवरी 1 9 70 से सेकंड का।

DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(1268927156); 

दोनों UTC और स्थानीय timestamps एक ही हैं, तो अपने पीबीएक्स पर समय क्षेत्र या तो यूटीसी के लिए सेट है, और अपने टाइम स्टांप वास्तव में यूटीसी कर रहे हैं, या समय क्षेत्र यूटीसी के लिए निर्धारित है, लेकिन समय पर सेट है आपके स्थानीय समय, और आप दोनों टाइमस्टैम्प के लिए अपना स्थानीय समय प्राप्त करते हैं। आपको यह पता लगाना होगा कि उनमें से कौन सा है ताकि आप यूटीसी से टाइमस्टैम्प को परिवर्तित करने के लिए गीलेर को जान सकें या नहीं।

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