6
votes

Comment économiser de la date sans délai?

Comment puis-je enregistrer l'heure de la date, sans délai ni de préférence avec un horodatage de 12:00, quel que soit le temps est à ce moment-là?

Je ne veux pas utiliser .tostring ("jj / mm / aaaa"); , car il ouvrira beaucoup de nouvelles erreurs possibles.


4 commentaires

Où voulez-vous enregistrer la date? Dans la base de données? ou objet de la classe DateTime de type?


Le temps peut être dépouillé dans le code, la couche de persistance ou la base de données, quel endroit semble le plus naturel pour le problème que vous essayez de résoudre?


J'utilise la structure MVVM. Désolé de ne pas l'ajouter aux tags. La chose est, plus tard dans l'application, nous filtrons pour cette date précise et que tout lieu après 12h00 est exclu dans la requête. Donc, cela étant dit, je dois le faire à la propriété définie. Donc, exclure l'heure ou le rendre par défaut à 12h00.


Juste pour clarifier, parlons-nous de 12 h 00 heures sur 24 heures et 0:00 HR?


6 Réponses :


15
votes

DateTime struct a une propriété date qui devrait répondre à vos besoins: xxx

bien sûr, il contient toujours inévitablement un partie temporelle mais vous devriez pouvoir l'ignorer.


1 commentaires

Mais cela risque de devenir incorrect. Par exemple, si vous passez du GMT à BST et à minuit, vous passez à 23h00 de la veille, la partie date avait changé.



1
votes

Utilisez

 myDate.Date


1 commentaires

Fyi, datetime.today est un raccourci utile pour datetime.now.date



1
votes

Si vous avez une date xxx pré>

ou si vous voulez aujourd'hui, vous pouvez utiliser le raccourci P>

DateTime dateAtNoon = DateTime.Today.AddHours(12);


0 commentaires

1
votes

Cela fera le truc avec une préférence à T.Date xxx


2 commentaires

Je suis à peu près sûr que par défaut une nouvelle date sans temps sera par défaut à 12h00. Est-ce différent de ce que vous suggérez?


Correct. Je trouve juste tort de la défaillance de la valeur par défaut à 12 p.m et Willem n'a pas précisé. S'il habite en Europe, 12h00 signifie 12h00



1
votes

Visitez ce http://msdn.microsoft .com / fr-nous / bibliothèque / system.datetime.today.aspx

Si vous voulez la date actuelle, il existe un peu plus lisible: xxx < p> mais pour une instance de dateTime spécifique, alors: xxx


0 commentaires

2
votes

Au fur et à mesure que d'autres affiches ont dit xxx pré>

est la voie à suivre. Cependant, il convient également de penser que vous souhaitiez supprimer des informations sur le fuseau horaire afin d'éviter des problèmes survenant sur différents TZ sur des machines TZ sur le client \ serveur. P>

Vous pouvez utiliser P>

var dateTime = new DateTime(DateTime.Now.Date.Ticks, DateTimeKind.Unspecified);


0 commentaires