10
votes

Stocker une courte date dans un objet DateTime

J'essaie de stocker une date raccourcie (MM / DD / AAAA) dans un objet DateTime. Le code suivant ci-dessous est ce que j'essaie actuellement de faire; Cela inclut l'heure (12:00:00) que je ne veux pas: (

DateTime goodDateHolder = Convert.ToDateTime(DateTime.Now.ToShortDateString());


0 commentaires

9 Réponses :


3
votes

au lieu de .now Vous pouvez utiliser .today qui ne supprime pas la partie temporelle, mais ne remplira que la partie de date et laisser le temps de la valeur par défaut. < / p>

Plus tard, comme les autres l'ont signalé, vous devriez essayer d'obtenir la partie de date à ignorer la partie temporelle, en fonction de la situation.


1 commentaires

Denttime.today.toshortdateSestring () a toujours le temps comme 12:00:00



17
votes

DateTime est un entier interprété pour représenter les deux parties de DateTime (c'est-à-dire: date et heure). Vous aurez toujours la date et l'heure dans DateTime . Désolé, il n'y a rien que vous puissiez faire à ce sujet.

Vous pouvez utiliser .Date pour obtenir la partie de date. Dans ces cas, le temps sera toujours 12h00 mais vous pouvez simplement ignorer cette partie si vous ne le voulez pas.


2 commentaires

Idem. En outre, les chaînes de format de date vous permettent essentiellement d'ignorer des pièces que vous n'êtes pas intéressé. Par exemple, comparez deux dates en utilisant la même chaîne de format de {mm / jj / aaaa} et l'heure n'est pas utilisée. . Notez que nous comparons réellement des chaînes, mais nous prétendons que nous comparons des objets de date.


@radarbob: presque. Nous comparons en fait des entiers qui ont été analysés d'un entier plus long, mais l'esprit de ce que vous dites est correct.



4
votes

Vous avez seulement deux options dans cette situation.

1) ignorer la partie temporelle de la valeur.

2) Créer une classe d'emballage.

Personnellement, je suis enclin à utiliser l'option 1.


0 commentaires

3
votes

Une date d'heure aura toujours un composant temporel - même s'il est 12h00:00. Il vous suffit de formater la dateTime lorsque vous l'affichez (par exemple, Gooddateholder.toshortdateString ()).


0 commentaires

0
votes

L'objet DateTime stocke à la fois la date et l'heure. Pour afficher uniquement la date, vous utiliseriez la méthode DateTime.tostring (String).

DateTime goodDateHolder = DateTime.Now;
// outputs 10/19/2009
Console.WriteLine(goodDateHolder.ToString("MM/dd/yyyy"));


1 commentaires

Dans la plupart des cas, il est préférable d'utiliser ThortieDateString, de sorte que la composante date utilise le format localisé.



0
votes

Vous ne pourrez peut-être pas l'obtenir comme un objet DateTime ... mais lorsque vous souhaitez l'afficher, vous pouvez le formater de la manière dont vous voulez en faisant quelque chose comme.

mydateTime.tostring ("M / D / AAAAYY") qui donne 10/19/2009 pour votre exemple.


0 commentaires

1
votes

Vous obtiendrez toujours la partie de temps dans un type DateTime.

goodDateHolder.ToString("mm/dd/yyyy")


0 commentaires

0
votes

DateTime est simplement un UINT64 avec formatage utile et intelligent enroulé autour de celui-ci pour le faire apparaître comme une date plus une heure. Vous ne pouvez pas éliminer l'élément de temps.


0 commentaires

1
votes

Vous pouvez également consulter NODA TIME basé sur la bibliothèque de temps JAVA Joda .


0 commentaires