2013-01-12 15 views

cevap

10

Eğer doğru anlamak, bu işler?

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

Ben örnekte DateTime.UtcNow kullandım, ama siz verilerini kullanmayı planlıyorsanız nasıl bağlı DateTime.Now kullanabilirsiniz. Fark hakkında daha fazla bilgi için bkz. this thread.

+1

Çok iyi çalışıyor, çok teşekkür ederim. – Dan

+0

Nasıl çalıştığını anlayamıyorum: Bence CLng (DateTime.UtcNow.Subtract (Yeni DateTime (1970, 1, 1)). ToUniversalTime.TotalMilliseconds). Her neyse, bu yöntemler doğru zaman damgasını döndürmez. @keyboardP çağrısı ile, doğru zaman damgasını döndürür, ancak UtcNow ve 1/1/1970 (zaman dilimi farkında olan) karşılaştırdığından bu nasıl mümkün olur? – Desmond

+0

Sonunda anladım. 'Yeni Tarih (1,1,1970)', saat dilimi farkında olmayan bir tarih oluşturur. .ToUniversalTime yöntemi, yerel saatlerde olduğu gibi kaydırır. En iyi yaklaşım, saat dilimini fark etmek için tarih olmalıdır: "Yeni DateTime (1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)" – Desmond

İlgili konular