yyyymmddhhmmss today now new formato fff fecha c# datetime

today - ¿Cómo eliminar la parte del tiempo de la fecha en C#en el objeto DateTime solamente?



formato fecha datetime c# (30)

Necesito eliminar la parte de la fecha de la hora o probablemente tener la fecha en el siguiente formato en forma de object no en forma de string .

06/26/2009 00:00:00:000

No puedo usar ningún método de conversión de string , ya que necesito la fecha en forma de object .

Primero intenté convertir el DateTime en una string , quitarle la fecha específica de la hora, pero agrega 12:00:00 AM tan pronto como lo convierto de nuevo al object DateTime .


Aquí hay otro método usando String.Format

DateTime todaysDate = DateTime.UtcNow; string dateString = String.Format("{0:dd/MM/yyyy}", todaysDate); Console.WriteLine("Date with Time: "+ todaysDate.ToString()); Console.WriteLine("Date Only : " + dateString);

Salida:

Date with Time: 9/4/2016 11:42:16 AM Date Only : 04/09/2016

Esto también funciona si la fecha y hora se almacena en la base de datos.

Para obtener más información sobre el formato de fecha y hora, consulte estos enlaces:

Referencia 1

Referencia 2

La esperanza ayuda.


Crea una estructura que contenga solo las propiedades que deseas. Luego, un método de extensión para obtener fácilmente esa estructura desde una instancia de DateTime.

public struct DateOnly { public int Day { get; set; } public int Month { get; set; } public int Year { get; set; } } public static class DateOnlyExtensions { public static DateOnly GetDateOnly(this DateTime dt) { return new DateOnly { Day = dt.Day, Month = dt.Month, Year = dt.Year }; } }

Uso

DateTime dt = DateTime.Now; DateOnly result = dt.GetDateOnly();


Declara la variable como una cadena.

ejemplo:

public string dateOfBirth ;

luego asigne un valor como:

dateOfBirth = ((DateTime)(datetimevaluefromDB)).ToShortDateString();


Echa un vistazo a la propiedad Date .

Obtiene el componente de fecha de esta instancia.


Encontré este post cuando intenté resolver la Q original.

Estoy usando Asp.Net y, después de algunas investigaciones que encontré cuando está vinculando el valor de la fecha en el código que está detrás, puede perder el tiempo para que no se muestre en la pantalla.

DO#:

DateTime Today = DateTime.Now;

aspx:

<%: this.Today.ToShortDateString() %>


Escribí una estructura de DateOnly . Esto usa un DateTime debajo de la piel pero ninguna parte del tiempo está expuesta públicamente:

using System; public struct DateOnly : IComparable, IFormattable, IComparable<DateOnly>, IEquatable<DateOnly> { private DateTime _dateValue; public int CompareTo(object obj) { if (obj == null) { return 1; } DateOnly otherDateOnly = (DateOnly)obj; if (otherDateOnly != null) { return ToDateTime().CompareTo(otherDateOnly.ToDateTime()); } else { throw new ArgumentException("Object is not a DateOnly"); } } int IComparable<DateOnly>.CompareTo(DateOnly other) { return this.CompareToOfT(other); } public int CompareToOfT(DateOnly other) { // If other is not a valid object reference, this instance is greater. if (other == new DateOnly()) { return 1; } return this.ToDateTime().CompareTo(other.ToDateTime()); } bool IEquatable<DateOnly>.Equals(DateOnly other) { return this.EqualsOfT(other); } public bool EqualsOfT(DateOnly other) { if (other == new DateOnly()) { return false; } if (this.Year == other.Year && this.Month == other.Month && this.Day == other.Day) { return true; } else { return false; } } public static DateOnly Now() { return new DateOnly(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); } public static bool TryParse(string s, ref DateOnly result) { DateTime dateValue = default(DateTime); if (DateTime.TryParse(s, out dateValue)) { result = new DateOnly(dateValue.Year, dateValue.Month, dateValue.Day); return true; } else { return false; } } public static DateOnly Parse(string s) { DateTime dateValue = default(DateTime); dateValue = DateTime.Parse(s); return new DateOnly(dateValue.Year, dateValue.Month, dateValue.Day); } public static DateOnly ParseExact(string s, string format) { CultureInfo provider = CultureInfo.InvariantCulture; DateTime dateValue = default(DateTime); dateValue = DateTime.ParseExact(s, format, provider); return new DateOnly(dateValue.Year, dateValue.Month, dateValue.Day); } public DateOnly(int yearValue, int monthValue, int dayValue) : this() { Year = yearValue; Month = monthValue; Day = dayValue; } public DateOnly AddDays(double value) { DateTime d = new DateTime(this.Year, this.Month, this.Day); d = d.AddDays(value); return new DateOnly(d.Year, d.Month, d.Day); } public DateOnly AddMonths(int months) { DateTime d = new DateTime(this.Year, this.Month, this.Day); d = d.AddMonths(months); return new DateOnly(d.Year, d.Month, d.Day); } public DateOnly AddYears(int years) { DateTime d = new DateTime(this.Year, this.Month, this.Day); d = d.AddYears(years); return new DateOnly(d.Year, d.Month, d.Day); } public DayOfWeek DayOfWeek { get { return _dateValue.DayOfWeek; } } public DateTime ToDateTime() { return _dateValue; } public int Year { get { return _dateValue.Year; } set { _dateValue = new DateTime(value, Month, Day); } } public int Month { get { return _dateValue.Month; } set { _dateValue = new DateTime(Year, value, Day); } } public int Day { get { return _dateValue.Day; } set { _dateValue = new DateTime(Year, Month, value); } } public static bool operator == (DateOnly aDateOnly1, DateOnly aDateOnly2) { return (aDateOnly1.ToDateTime() == aDateOnly2.ToDateTime()); } public static bool operator != (DateOnly aDateOnly1, DateOnly aDateOnly2) { return (aDateOnly1.ToDateTime() != aDateOnly2.ToDateTime()); } public static bool operator > (DateOnly aDateOnly1, DateOnly aDateOnly2) { return (aDateOnly1.ToDateTime() > aDateOnly2.ToDateTime()); } public static bool operator < (DateOnly aDateOnly1, DateOnly aDateOnly2) { return (aDateOnly1.ToDateTime() < aDateOnly2.ToDateTime()); } public static bool operator >= (DateOnly aDateOnly1, DateOnly aDateOnly2) { return (aDateOnly1.ToDateTime() >= aDateOnly2.ToDateTime()); } public static bool operator <= (DateOnly aDateOnly1, DateOnly aDateOnly2) { return (aDateOnly1.ToDateTime() <= aDateOnly2.ToDateTime()); } public static TimeSpan operator - (DateOnly aDateOnly1, DateOnly aDateOnly2) { return (aDateOnly1.ToDateTime() - aDateOnly2.ToDateTime()); } public override string ToString() { return _dateValue.ToShortDateString(); } public string ToString(string format) { return _dateValue.ToString(format); } public string ToString(string fmt, IFormatProvider provider) { return string.Format("{0:" + fmt + "}", _dateValue); } public string ToShortDateString() { return _dateValue.ToShortDateString(); } public string ToDbFormat() { return string.Format("{0:yyyy-MM-dd}", _dateValue); } }

Esto se convierte desde VB.NET, así que pido disculpas si algunas conversiones no son 100%


Esta forma de obtener solo fecha sin hora.

DateTime date = DateTime.Now; string Strdateonly = date.ToString("d");

Salida = 5/16/2015


Este código le da una visión clara de la Date y Time de la escritura por separado.

string time = DateTime.Now.Hour.ToString("00") + ":" + DateTime.Now.Minute.ToString("00") + ":" + DateTime.Now.Second.ToString("00"); string date = DateTime.Now.ToString("M-dd-yyyy"); MessageBox.Show(date + "/n" + time);

Espero que esto ayude.


Esto podría hacerse simplemente de esta manera:

var dateOnly = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day)


Intenta hacer tu propia estructura para eso. El objeto DateTime tendrá fecha y hora.


La propiedad Date devolverá la fecha a la medianoche.

Una opción podría ser obtener los valores individuales (día / mes / año) por separado y almacenarlos en el tipo que desee.

var dateAndTime = DateTime.Now; int year = dateAndTime.Year; int month = dateAndTime.Month; int day = dateAndTime.Day; string.Format("{0}/{1}/{2}", month, day, year);


Me sorprende que nadie haya mencionado DateTime. Hoy

var date = DateTime.Today; // {7/1/2014 12:00:00 AM}

Ver MSDN


Ninguna de las respuestas anteriores resolvió mi problema en winforms.

La forma más fácil de alcanzar SOLAMENTE la fecha es la función simple en Datetime:

DateTime dt = DateTime.now; String BirthDate = dt.ToShortDateString();

Solo tendrás fecha en cadena de cumpleaños.


Obtener la parte Date de un objeto DateTime no me entrenó porque estoy trabajando en el lado del cliente y los valores de servicio web devueltos tienen algunas fechas null . Como resultado, intenta obtener la parte Fecha de un valor nulo y lanza una excepción de tiempo de ejecución. El siguiente ejemplo es cómo resolví mi problema:

string dt = employer.BirthDay.ToString(); if(dt == ""){ dt = "N/A";} else dt = dt.Substring(0,10);

  1. Obtener el valor de DateTime como cadena en una variable de cadena.
  2. Compruebe si es nulo. Si es nulo, asigna una variable de cadena.
  3. Si no es nulo, obtenga los primeros 10 caracteres del valor DateTime de la cadena y asígnele la variable de cadena.

Estoy compartiendo esto para futuras referencias.


Para usar por el datalist, repetidor ... en la página aspx: <% # Eval ("YourDateString"). ToString (). Remove (10)%>


Puede usar cadenas de formato para dar a la cadena de salida el formato que desee.

DateTime dateAndTime = DateTime.Now; Console.WriteLine(dateAndTime.ToString("dd/MM/yyyy")); // Will give you smth like 25/05/2011

Lea más here .


Puedes probar esto solo para la fecha del Datetime

String.Format("{0:d/M/YYYY}",dt);

Donde dt es el DateTime


Sé que este es un post antiguo con muchas respuestas, pero no he visto esta forma de eliminar la parte del tiempo. Supongamos que tiene una variable DateTime llamada myDate , con la fecha con parte de la hora. Puede crear un nuevo objeto DateTime desde él, sin la parte de tiempo, usando este constructor:

public DateTime(int year, int month, int day);

Me gusta esto:

myDate = new DateTime(myDate.Year, myDate.Month, myDate.Day);

De esta manera, creará un nuevo objeto DateTime basado en el anterior, con 00:00:00 como parte de la hora.


Si lo estás convirtiendo en cadena, puedes hacerlo fácilmente así.

Estoy tomando la fecha como su objeto DateTime.

date.ToString("d");

Esto le dará sólo la fecha.


Usar .Fecha de un objeto DateTime ignorará la parte del tiempo.

Aquí está el código:

DateTime dateA = DateTime.Now; DateTime dateB = DateTime.Now.AddHours(1).AddMinutes(10).AddSeconds(14); Console.WriteLine("Date A: {0}",dateA.ToString("o")); Console.WriteLine("Date B: {0}", dateB.ToString("o")); Console.WriteLine(String.Format("Comparing objects A==B? {0}", dateA.Equals(dateB))); Console.WriteLine(String.Format("Comparing ONLY Date property A==B? {0}", dateA.Date.Equals(dateB.Date))); Console.ReadLine();

Salida:

>Date A: 2014-09-04T07:53:14.6404013+02:00 >Date B: 2014-09-04T09:03:28.6414014+02:00 >Comparing objects A==B? False >Comparing ONLY Date property A==B? True


Use la propiedad Date :

var dateAndTime = DateTime.Now; var date = dateAndTime.Date;

La variable de date contendrá la fecha, la parte de la hora será 00:00:00 .


Use un poco de RegEx:

Regex.Match(Date.Now.ToString(), @"^.*?(?= )");

Produce una fecha en el formato: dd / mm / aaaa


Usted no puede Un DateTime en .NET siempre tiene una hora, por defecto a 00: 00: 00: 000. La propiedad Fecha de un DateTime también es un DateTime (!), Por lo que tiene una hora predeterminada de 00: 00: 00: 000 también.

Esto es una escasez en el .NET Framework, y podría argumentarse que DateTime en .NET viola el principio de responsabilidad única .



en mi experiencia, ninguna de las soluciones mencionadas funcionó, tal vez porque quería eliminar el tiempo de la fecha extraída de la base de datos, pero el siguiente código funcionó bien:

var date = target_date.Value.ToString("dd/MM/yyyy");


utilizar

DateTime.Now.ToString("dd-MM-yyyy");



DateTime dd=DateTiem.Now; string date=dd.toString("dd/MM/YYYY");


static void Main(string[] args) { string dateStrings = "2014-09-01T03:00:00+00:00" ; DateTime convertedDate = DateTime.Parse(dateStrings); Console.WriteLine(" {0} ----------------- {1}", convertedDate,DateTime.Parse(convertedDate.ToString()).ToString("dd/MM/yyyy")); Console.Read(); }


string dt = myCalender.SelectedDate.ToString(); string date = dt.Remove(10); displayDate.Content = date;

Si tomas la fecha del calendario, con esto también tenemos tiempo. Lo que no se requiere todo el tiempo. Usando esto podemos eliminar el tiempo desde la fecha.