2009-01-05 24 views

Respuesta

9
DateTime.Now.ToString("h:mm tt") 
DateTime.Now.ToString("MM/dd/yyyy") 

Éstos son algunos common format strings

+0

hoja de trucos útiles y enchufe descarado: http://john-sheehan.com/blog/net-cheat-sheets –

19

Puede utilizar las cadenas de formato también.

string time = DateTime.Now.ToString("hh:mm:ss"); // includes leading zeros 
string date = DateTime.Now.ToString("dd/MM/yy"); // includes leading zeros 

o algunos atajos si el formato que funcione para usted

string time = DateTime.Now.ToShortTimeString(); 
string date = DateTime.Now.ToShortDateString(); 

O debe trabajar.

+0

Tienes ésos al revés, deben ser hh: mm: ss para Tiempo, y dd/MM/aa para Fecha. –

+4

Para el uso de 24 horas HH: mm: ss –

+0

Para el uso del reloj de 12 horas hh: mm: ss tt –

58

Solo me gustaría señalar algo en estas respuestas. En una cadena de formato de fecha/hora, '/' se reemplazará por cualquiera que sea el separador de fecha del usuario, y ':' se reemplazará por cualquiera que sea el separador de tiempo del usuario. Es decir, si he definido mi separador de fecha como '.' (en el subprograma de panel de control de Opciones regionales y de idioma, "intl.cpl"), y mi separador de tiempo es '?' (Fingir que estoy loco por el estilo), entonces

DateTime.Now.ToString("MM/dd/yyyy h:mm tt") 

volvería

01.05.2009 6?01 PM

En la mayoría de los casos, esto es lo que quiere, porque quiere respetar la configuración del usuario. Sin embargo, si usted necesita el formato sea algo específico (por ejemplo, si se va a analizarse a salir por otra persona por el cable), entonces usted necesita para escapar de estos caracteres especiales:

DateTime.Now.ToString("MM\\/dd\\/yyyy h\\:mm tt") 

o

DateTime.Now.ToString(@"MM\/dd\/yyyy h\:mm tt") 

que ahora volver

01/05/2009 6:01 PM

EDITAR:

Por otra parte, si realmente quiere respetar la configuración del usuario, se debe utilizar una de las cadenas estándar de formato de fecha/hora, por lo que respeta no sólo las opciones del usuario de separadores, sino también el formato general de la fecha y/o hora.

DateTime.Now.ToShortDateString() 
DateTime.Now.ToString("d") 

Ambos volverían "1/5/2009" usando las opciones estándar de los Estados Unidos, o "05/01/2009" usando las opciones estándar del Reino Unido, por ejemplo.

DateTime.Now.ToLongDateString() 
DateTime.Now.ToString("D") 

Ambos volverían "Lunes, 05 de enero de, 2009" en la configuración regional de EE.UU., o "05 de enero de 2009" en Reino Unido.

DateTime.Now.ToShortTimeString() 
DateTime.Now.ToString("t"); 

"6:01 PM" en los Estados Unidos, "18:01" en el Reino Unido.

DateTime.Now.ToLongTimeString() 
DateTime.Now.ToString("T"); 

"6:01:04 PM" en los Estados Unidos, "18:01:04" en el Reino Unido.

DateTime.Now.ToString() 
DateTime.Now.ToString("G"); 

"1/5/2009 6:01:04 PM" en los Estados Unidos, "05/01/2009 18:01:04" en el Reino Unido.

Muchas otras opciones están disponibles. Consulte los documentos para standard date and time format strings y custom date and time format strings.

+1

Votación máxima, porque puede ser enorme, especialmente al mover datos entre sistemas. –

4

Tenga cuidado al acceder a DateTime.Now dos veces, ya que es posible que las llamadas pasen a la medianoche y obtendrá raros resultados en raras ocasiones y se quedará rascándose la cabeza.

Para estar seguro, usted debe asignar DateTime.Now a una variable local en primer lugar si se va a utilizar más de una vez:

var now = DateTime.Now; 
var time = now.ToString("hh:mm:ss tt"); 
var date = now.ToString("MM/dd/yy"); 

Nota el uso de minúsculas "hh" hacer horas de visualización de 00-11 incluso por la tarde, y "tt" para mostrar AM/PM, según la pregunta solicitada. Si quiere un reloj de 24 horas 00-23, use "HH".

3

método para obtener la fecha y la hora del sistema en una sola cadena

public static string GetTimeDate() 
{ 
    string DateTime = System.DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); 
    return DateTime; 
} 

sample OUTPUT :-16-03-2015 07:45:15 
Cuestiones relacionadas