2009-09-28 635 views
38

Estoy convirtiendo un valor garrapatas a una fecha como esta:¿Cómo puedo convertir los ticks en un formato de fecha?

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

El uso de este me sale:

9/27/2009 10:50:27 PM 

Pero quiero sólo la fecha en este formato:

October 1, 2009 

Mi valor de ticks de muestra es

633896886277130000 

¿Cuál es la mejor manera de hacer esto?

+0

Me parece una pregunta perfectamente real sobre cómo formatear el resultado de DateTime.ToString(). –

+0

Si leyó mi respuesta a su pregunta de ayer, ya proporcioné el código para esto ... – womp

+0

Edité la pregunta bastante para que pareciera más legítima. El original necesitaba una mejora. – JosephStyons

Respuesta

36

Es mucho más simple de hacer esto:

DateTime dt = new DateTime(633896886277130000); 

cual da

dt.ToString() = "27/09/2009 10:50:27 PM"

puede dar formato esto de cualquier forma que desee utilizando dt.ToString (MyFormat). Consulte this reference para cadenas de formato. "MMMM dd, aaaa" funciona para lo que especificó en la pregunta.

No estoy seguro de donde se obtiene el 1 de octubre

+0

octubre 1 es solo una muestra de formato ... Necesito la declaración de conversión para que pueda usarla en la declaración de selección de SQL – user175084

138

objeto una fecha y hora se puede construir con un valor específico de las garrapatas. Una vez que haya determinado el valor de las garrapatas, puede hacer lo siguiente:

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")); 
    } 

Da

September 27, 2009 

es eso lo que necesita?

No veo cómo ese formato es necesariamente fácil de usar en las consultas SQL.

Cuestiones relacionadas