Konvertiere C # .NET DateTime.ticks in JavaScript in Tage / Stunden / Minuten

8

In meinem System speichere ich eine Dauer in Ticks, die an meine mobile Client-Anwendung übergeben wird, und von dort möchte ich Ticks in eine für Menschen lesbare Form konvertieren. In meinem Fall Tage, Stunden und Minuten.

Meine Client-Anwendung für Mobilgeräte ist mit Javascript codiert, und das ist es, was ich verwende, um die Dauer in Tage / Stunden / Minuten zu konvertieren.

    
Ciaran Gallagher 18.03.2013, 20:29
quelle

4 Antworten

9

In C # .NET steht ein einzelner Tick für einhundert Nanosekunden oder ein zehnmillionstel Sekunden. [Quelle] .

Um die Anzahl der Tage aus der Anzahl der Ticks (gerundet auf die nächsten ganzen Zahlen) zu berechnen, berechne ich zuerst die Anzahl der Sekunden durch Multiplikation mit zehn Millionen und multipliziere dann die Anzahl der Sekunden in a Tag (60 Sekunden in der Minute, 60 Minuten in der Stunde, 24 Stunden am Tag). Ich verwende den Modulo-Operator (%), um die Restwerte zu erhalten, die die Dauer von Stunden und Minuten ausmachen.

%Vor%

Also, im obigen Beispiel entspricht die Anzahl der Ticks 6 Minuten (aufgerundet).

Und um ein anderes Beispiel zu nehmen, mit 2.193.385.800.000.000 Zecken erhalten wir 2538 Tage, 15 Stunden und 23 Minuten.

    
Ciaran Gallagher 18.03.2013, 20:29
quelle
4

Sie müssen zwei Dinge beachten:

Auflösung
Ticks in .Net's DateTime sind 0.1 Mikrosekunden, während Javascript Millisekunden zählt.

Offset
Darüber hinaus zählt .Net ab 1.1.0000, während Javascript vom 1.1.1970 zählt.

TeaFiles.Net hat eine Time-Klasse, die Java = Javascript-Ticks verwendet. Es verfügt über eine Skalierungseigenschaft und eine vordefinierte Skala Timescale.Java, die von .NET in JavaScript konvertiert.

    
citykid 18.03.2013 21:03
quelle
2
___ qstnhdr ___ Konvertiere C # .NET DateTime.ticks in JavaScript in Tage / Stunden / Minuten ___ qstntxt ___

In meinem System speichere ich eine Dauer in Ticks, die an meine mobile Client-Anwendung übergeben wird, und von dort möchte ich Ticks in eine für Menschen lesbare Form konvertieren. In meinem Fall Tage, Stunden und Minuten.

Meine Client-Anwendung für Mobilgeräte ist mit Javascript codiert, und das ist es, was ich verwende, um die Dauer in Tage / Stunden / Minuten zu konvertieren.

    
___ antwort43722567 ___

Auf der Server-Seite können Sie eine Erweiterungsmethode wie folgt verwenden:

%Vor%

Mit diesen Erweiterungen können Sie die JavaScript-Ticks erhalten und sie dann einfach an die Client-Seite übergeben.

Wenn Sie MVC verwenden:

Sie haben das ViewModel:

%Vor%

Und der Controller:

%Vor%

Auf der Client-Seite :

%Vor%

Wenn Sie die Razor View-Engine für Ihre mobile App verwenden, ist es äußerst einfach, die berechneten js-Ticks von der Serverseite in Ihrer Ansicht zu erhalten, indem Sie einen Inline-Ausdruck verwenden:

%Vor%

Schließlich, um Tage, Stunden und Minuten von dem JavaScript-Date-Objekt zu erhalten:

%Vor%

(wie Sie in der JavaScript-Referenz "Date" sehen können: Ссылка )

    
___ answer15486892 ___

Sie müssen zwei Dinge beachten:

Auflösung
Ticks in .Net's DateTime sind 0.1 Mikrosekunden, während Javascript Millisekunden zählt.

Offset
Darüber hinaus zählt .Net ab 1.1.0000, während Javascript vom 1.1.1970 zählt.

TeaFiles.Net hat eine Time-Klasse, die Java = Javascript-Ticks verwendet. Es verfügt über eine Skalierungseigenschaft und eine vordefinierte Skala Timescale.Java, die von .NET in JavaScript konvertiert.

    
___ answer15486300 ___

In C # .NET steht ein einzelner Tick für einhundert Nanosekunden oder ein zehnmillionstel Sekunden. [Quelle] .

Um die Anzahl der Tage aus der Anzahl der Ticks (gerundet auf die nächsten ganzen Zahlen) zu berechnen, berechne ich zuerst die Anzahl der Sekunden durch Multiplikation mit zehn Millionen und multipliziere dann die Anzahl der Sekunden in a Tag (60 Sekunden in der Minute, 60 Minuten in der Stunde, 24 Stunden am Tag). Ich verwende den Modulo-Operator (%), um die Restwerte zu erhalten, die die Dauer von Stunden und Minuten ausmachen.

%Vor%

Also, im obigen Beispiel entspricht die Anzahl der Ticks 6 Minuten (aufgerundet).

Und um ein anderes Beispiel zu nehmen, mit 2.193.385.800.000.000 Zecken erhalten wir 2538 Tage, 15 Stunden und 23 Minuten.

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script). ___ tag123net ___ Das .NET-Framework ist ein Software-Framework, das hauptsächlich für das Microsoft Windows-Betriebssystem entwickelt wurde. Es enthält eine Implementierung der Basisklassenbibliothek, Common Language Runtime (allgemein als CLR bezeichnet), Common Type System (allgemein als CTS bezeichnet) und Dynamic Language Runtime. Es unterstützt viele Programmiersprachen, einschließlich C #, VB.NET, F # und C ++ / CLI. NICHT für Fragen zu .NET Core verwenden. ___ tag123datetime ___ Ein DateTime-Objekt beschreibt in vielen Programmiersprachen ein Datum und eine Uhrzeit. Je nach dem Kontext, in dem es verwendet wird, und der spezifischen Implementierung kann es entweder einen Zeitpunkt oder eine Position in einem Kalender ausdrücken. Dieses Tag kann für alle Probleme mit Datum und Uhrzeit verwendet werden. ___ answer39756024 ___
%Vor%

Laut dieser Seite gibt die Methode setFullYear "A Number" zurück, die die Anzahl der Millisekunden zwischen dem Datumsobjekt darstellt und Mitternacht 1. Januar 1970 ".

Sehen Sie sich diese Seite für alle Methoden des JavaScript-Date-Objekts an.

    
___
tecla 01.05.2017 16:25
quelle
1
%Vor%

Laut dieser Seite gibt die Methode setFullYear "A Number" zurück, die die Anzahl der Millisekunden zwischen dem Datumsobjekt darstellt und Mitternacht 1. Januar 1970 ".

Sehen Sie sich diese Seite für alle Methoden des JavaScript-Date-Objekts an.

    
pkmelee337 28.09.2016 19:24
quelle

Tags und Links