J'ai un ASP.NET, VB.NET Date, et je vais essayer d'obtenir le nombre de millisecondes depuis le 1er janvier 1970. J'ai essayé de regarder pour une méthode dans MSDN, mais je ne pouvais pas trouver quoi que ce soit. Personne ne sait comment faire cela?
Vous pouvez soustraire toutes les deux DateTime instances et obtenir TimeSpan et TotalMilliseconds serait vous donner le total des millisecondes. L'échantillon ci-dessous.
DateTime dt1970 =newDateTime(1970,1,1);DateTime current =DateTime.Now;//DateTime.UtcNow for unix timestampTimeSpan span = current - dt1970;Console.WriteLine(span.TotalMilliseconds.ToString());
un liner
//DateTime.MinValue is 01/01/01 00:00 so add 1969 years. to get 1/1/1970DateTime.Now.Subtract(DateTime.MinValue.AddYears(1969)).TotalMilliseconds;
Vous pouvez soustraire toutes les deux
DateTime
instances et obtenirTimeSpan
etTotalMilliseconds
serait vous donner le total des millisecondes. L'échantillon ci-dessous.un liner
OriginalL'auteur Sanjeevakumar Hiremath
De départ .Net 4.6, La méthode ToUnixTimeMilliseconds fournit une solution plus précise.
De DateTimeOffset
De DateTime
Source: https://docs.microsoft.com/en-us/dotnet/api/system.datetimeoffset.tounixtimemilliseconds?view=netframework-4.6#System_DateTimeOffset_ToUnixTimeMilliseconds
OriginalL'auteur Shubhan
Alternativement, vous pouvez utiliser la propriété Ticks et d'éviter la construction d'un objet temporaire:
Cependant, ce n'est pas tout à fait
Raisonnement:
OriginalL'auteur mnemosyn
Cela fournira à l'Époque UNIX en millisecondes.
(Respecte l'heure UTC au lieu de votre heure locale)
OriginalL'auteur Elte156