2013-01-12 6 views
5

पाने के लिए (13 अंक) वर्तमान timestamp VB.Net जो वर्तमान समय तक 0:00:00 01.01.1970 in GMT से पारित कर दिया मिलीसेकंड का प्रतिनिधित्व करता है में धारण करने के लिए।मैं एक एपीआई से कनेक्ट कर रहा हूँ और मानकों में से एक लंबे समय से है कैसे वर्तमान टाइमस्टैम्प

प्रारूप इस 1290932238757

मैं इस सिंटेक्स की कोशिश की तरह होना चाहिए:

DirectCast((Datetime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds, Int64) 

लेकिन उत्पादन किया गया था:

01/12/2013 02:06:24 

उत्तर

10

अगर मैं सही ढंग से समझ, यह काम करता है?

Dim milliseconds = CLng(DateTime.UtcNow.Subtract(New DateTime(1970, 1, 1)) 
                 .TotalMilliseconds) 

मैं उदाहरण में DateTime.UtcNow का उपयोग किया है, लेकिन आप कैसे आप डेटा का उपयोग कर पर योजना पर निर्भर करता है DateTime.Now उपयोग कर सकते हैं। अंतर पर अधिक जानकारी के लिए this thread देखें।

+1

यह बहुत अच्छा काम करता है, बहुत बहुत धन्यवाद। – Dan

+0

मुझे समझ में नहीं आता कि यह कैसे काम करता है: मुझे लगता है कि यह CLNG होना चाहिए (DateTime.UtcNow.Subtract (नई दिनांक समय (1 9 70, 1, 1))। ToUniversalTime TotalMilliseconds)। वैसे भी, यह विधियां सही टाइमस्टैम्प नहीं लौटाती हैं। @keyboardP कॉल के साथ, यह सही टाइमस्टैम्प देता है, लेकिन यह कैसे संभव है क्योंकि यह UtcNow और 1/1/1970 (जो टाइमज़ोन जागरूक है) की तुलना करता है? – Desmond

+0

मैं अंततः समझ गया। 'नई तिथि (1,1,1970)' एक ऐसी तारीख बनाती है जो टाइमज़ोन अनजान है। विधि। ToUniversalTime इसे बदलता है जैसे कि यह स्थानीय समय में था। सबसे अच्छा तरीका दिनांक टाइमज़ोन-जागरूक बनाने के लिए होना चाहिए: 'नया दिनांक समय (1 9 70, 1, 1, 0, 0, 0, 0, डेटटाइमकिंड.यूटीसी) ' – Desmond

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