Comment convertir une chaîne de caractères de type datetime en C++
J'ai un jeu de résultats(à partir d'une fonction) qui est basé sur le temps. Mais la valeur de type datetime est dans un format de chaîne(par exemple, "21:5 Jan 23, 11"). Je veux convertir "21:5 Jan 23, 11" datetime. Comment puis-je le faire en C++? Je veux juste filtrer les enregistrements pour aujourd'hui. Donc j'ai besoin de récupérer la date courante de "21:5 Jan 23, 11".
Edit:
Je peux obtenir la date et l'heure actuelles à l'aide de
SYSTEMTIME st;
Fonction getsystemtime(&st);
Est-il un moyen de convertir les "21:5 Jan 23, 11" dans le format ci-dessus?
OriginalL'auteur subs | 2011-01-24
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur Arsen Y.M.
Je ne suis pas un programmeur C++, mais en C, vous pouvez utiliser
strptime
http://pubs.opengroup.org/onlinepubs/009695399/functions/strptime.htmlOriginalL'auteur
Le plus général, C++ façon est d'utiliser des Coup de pouce.DateTime.
OriginalL'auteur ybungalobill
Si vous avez besoin de vérifier si les deux chaînes ont la même date ou pas et si il est garanti que les chaînes sont dans le même format, il n'est pas nécessaire de les convertir en date du temps. Il vous suffit de comparer les sous-chaînes après le premier caractère d'espace. Si elles sont identiques, alors les dates sont les mêmes. Voici un exemple de code:
current date
à la chaîne, dans le même format afin de comparerGrâce Asha pour la réponse. Mais j'ai besoin de comparer "21:5 Jan 23, 11" avec la date actuelle. Je pense que la date du jour-le temps sera toujours en millisecondes. Comment puis-je le comparer?
Voir mise à jour du code pour obtenir la date du jour.
OriginalL'auteur Asha