2010-03-26 10 views
6

tengo DateTimePicker en mi forma y me puse un valor a la propiedad formato personalizado a "dd/mm/aaaa" hormiga cuando corro este código:Cómo establecer datetimepicker valor a la fecha solamente en (NET)

MessageBox.Show(dateTimePicker1.Value.ToString());

puedo obtener este valor: "3/26/2010 13:26".

Cómo puedo eliminar la parte de tiempo del valor.

Sé que podemos utilizar este método

dateTimePicker1.Value.ToShortDateString(); 

pero quiero establecer la propiedad valor a este formato "dd/mm/aaaa" lo que la salida será así "26/3/2010 ", porque quiero almacenar el valor en mi base de datos (SQL)

¿Cómo puedo hacer eso?

+0

Si desea almacenar la fecha-parte de su 'System.DateTime' en su base de datos, ¿por qué toma una cadena formateada en la base de datos? ... más bien use 'dateTimePicker1.Value.Fecha' y luego guárdela en su columna (que puede ser dateTime o date - lo que permita su DB) –

Respuesta

12

Use dateTimePicker1.Value.Date para obtener la fecha de este valor DateTime.

Sin embargo, tenga en cuenta que si usa par trenzado, el uso de dateTimePicker1.Value.Date.ToString dará como resultado la secuencia "26/03/2010 00:00:00", mientras que usar algo como MyString = CStr(dateTimePicker1.Value.Date) dará como resultado que MyString sea "26/03/2010 ".

1

simplemente MessageBox.Show(dateTimePicker1.Value.ToString("dd/MM/yyyy"));

+0

Quiero hacer esto: datetimepicker.value = 26/03/2010 ¿Hay alguna manera en que pueda hacer eso? ? – salhzmzm

+0

datetimepicker.Value = new DateTime (2010, 3, 26); o datetimepicker.Value = Convert.ToDateTime ("26/03/2010"); – PierrOz

+3

Usa ParseExact como a continuación. Sustituya la cadena de fecha en el primer parámetro con cualquier variable de cadena que tenga en su programa. DateTime dtResult = DateTime.ParseExact ("26/03/2010", "d/M/yyyy", CultureInfo.InvariantCulture); Consulte aquí para obtener más información http://msdn.microsoft.com/en-us/library/system.datetime.parseexact.aspx –

4

Asumo ha inicializado DateTimePicker con la fecha y hora actuales:

dateTimePicker1.Value = DateTime.Now; 

En cambio, inicializarlo con la fecha actual:

dateTimePicker1.Value = DateTime.Today; 

Lo que pasa es que sigue:

  • Si el usuario selecciona una fecha, la propiedad DateTimePicker.Value siempre devolverá una fecha sin componente de hora del día y DateTime.Kind establecida en Unspecified.

  • Si el usuario no selecciona una fecha, la propiedad DateTimePicker.Value devolverá el valor utilizado para inicializar la propiedad DateTimePicker.Value. Si lo inicializa con DateTime.Now, tendrá una componente de hora del día, y DateTime.Kind se establecerá en Local.

0

Si tiene cadena como tipo de datos en la base de datos:

dateTimePicker1.Value.Date.ToString("d"); 

Si el tipo de datos es DateTime:

dateTimePicker1.Value.Date; 

Tanto fecha en formato aaaa sin tiempo dd/mm/volverá.

+0

quizás podría explicar cómo responde esto a la pregunta de OPs? Además, ¿qué sucede si un usuario tiene una cultura diferente en su máquina? –

+3

Si bien este código puede responder a la pregunta, proporcionar un contexto adicional con respecto a por qué y/o cómo responde la pregunta mejoraría significativamente su valor a largo plazo. Por favor [edite] su respuesta para agregar alguna explicación. – CodeMouse92

+0

@ JasonMc92 Gracias, soy nuevo en stackoverflow. Agregué alguna explicación. – Trushant04

Cuestiones relacionadas