Konvertieren Von C# .NET DateTime.Zecken Tagen/Stunden/Minuten in JavaScript
In mein system, ich bin die Speicherung einer Dauer in Ticks, die übergeben wird auf meinem client mobile Anwendung, und von dort will ich konvertieren Zecken in einer für Menschen lesbaren form. In meinem Fall, Tage, Stunden und Minuten.
Mein client mobile Anwendung ist codiert mit Javascript, und das ist, was ich verwende zum konvertieren der Dauer in Tage/Stunden/Minuten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In C# .NET, einem einzigen tick repräsentiert hundert Nanosekunden, oder eine zehn Millionstel Sekunde. [Quelle].
Deshalb, um berechnen Sie die Anzahl der Tage von der Anzahl der ticks (aufgerundet zur nächsten ganzen zahlen), habe ich zunächst berechnen Sie die Anzahl der Sekunden durch Multiplikation mit zehn Millionen, und dann multiplizieren, dass durch die Anzahl der Sekunden eines Tages (60 Sekunden in der minute, 60 Minuten die Stunde, 24 Stunden im Tag). Ich verwenden den modulo-operator ( % ), um die restlichen Werte, aus denen sich die Dauer in Stunden und Minuten.
So, in dem oben genannten Beispiel die Anzahl der ticks entspricht 6 Minuten (aufgerundet).
Und zu nehmen Sie ein anderes Beispiel, mit 2,193,385,800,000,000 Zecken, wir bekommen 2538 Tagen, 15 Stunden und 23 Minuten.
10e7
statt10000000
, das ist, was die exponentielle notation ist nützlich für die!Laut auf dieser Seite die Methode setFullYear gibt "Eine Zahl, die die Anzahl der Millisekunden, die zwischen dem Datum-Objekt und Mitternacht 1. Januar 1970".
Check-out auf dieser Seite für alle Methoden, die von der javascript-Date-Objekt.
Die Sie benötigen, zu betrachten 2 Dinge:
Auflösung
Zecken im .Net DateTime 0.1 Mikrosekunde, während Javascript zählt Millisekunden.
Offset
Darüber hinaus .Net Grafen von 1.1.0000 während Javascript zählt von dem 1.1.1970 gewertet.
TeaFiles.Net hat eine Time-Klasse, die mit Java = Javascript Zecken. Es hat die Eigenschaft "Skalierung" und einer vordefinierten Timescale.Java Umfang, dass Konvertiten aus .Net Javascript.
In der server-Seite, können Sie eine Erweiterung Methode, wie diese:
Mit dieser Erweiterung, können Sie den javascript-ticks, und dann klicken Sie einfach übergeben Sie an die client-Seite.
Wenn Sie MVC:
Haben Sie die ViewModel:
Und der Controller:
In der client-Seite:
Wenn Sie mit Razor view engine für Ihre mobile app, bekommen die berechneten js Zecken aus der server-Seite in Ihre Ansicht ist extrem einfach, mit einem in-line-Ausdruck:
Schließlich um Tage, Stunden und Minuten aus der javascript-Date-Objekt:
(wie Sie sehen können in der javascript - "Date" - Objekt, Referenz: https://www.w3schools.com/jsref/jsref_obj_date.asp)