2009-09-28 11 views
38

Ich bin einen Tick Wert zu einem Datum wie diese Umwandlung:Wie kann ich Ticks in ein Datumsformat konvertieren?

Convert(datetime, (MachineGroups.TimeAdded - 599266080000000000)/864000000000); 

Mit dieser i erhalten:

9/27/2009 10:50:27 PM 

Aber ich will nur das Datum in diesem Format:

October 1, 2009 

Meine Probe ticks Wert ist

633896886277130000 

Was ist der beste Weg, dies zu tun?

+0

Scheint wie eine vollkommen echte Frage für mich, wie DateTime.ToString() Ausgabe formatiert. –

+0

Wenn er meine Antwort auf seine Frage von gestern gelesen hat, habe ich bereits den Code dafür ... – womp

+0

Ich habe die Frage ziemlich stark bearbeitet, um es legitimer klingen zu lassen. Das Original war verbesserungsbedürftig. – JosephStyons

Antwort

36

Es ist viel einfacher, dies zu tun:

DateTime dt = new DateTime(633896886277130000); 

Welche

dt.ToString() = "2009.09.27 22.50.27" Sie können

gibt formatieren Dies ist wie Sie möchten, indem Sie dt.ToString (MyFormat) verwenden. Informationen zu Formatstrings finden Sie unter this reference. "MMMM dd, yyyy" funktioniert für das, was Sie in der Frage angegeben haben.

nicht sicher, wo Sie Oktober bekommen 1.

+0

Oktober 1 ist nur ein Format Beispiel .. Ich brauche die Convert-Anweisung, damit ich es in der SQL-Select-Anweisung verwenden kann – user175084

138

Ein Datetime-Objekt kann mit einem bestimmten Wert von Zecken konstruiert werden. Sobald Sie den Zecken Wert bestimmt haben, können Sie Folgendes tun:

DateTime myDate = new DateTime(numberOfTicks); 
String test = myDate.ToString("MMMM dd, yyyy"); 
5
private void button1_Click(object sender, EventArgs e) 
    { 
     long myTicks = 633896886277130000; 
     DateTime dtime = new DateTime(myTicks); 
     MessageBox.Show(dtime.ToString("MMMM d, yyyy")); 
    } 

Gibt

September 27, 2009 

Ist das, was Sie brauchen?

Ich sehe nicht, wie dieses Format in SQL-Abfragen ist jedoch einfach einfach zu arbeiten.

Verwandte Themen