C++ comparer à la chaîne de dates
J'ai besoin de comparer 2 chaîne de dates pour voir si une date est postérieure, puis une autre. Le format de la date pour les deux dates est en bas. je peux réorganiser ce pour ce que jamais est plus facile. J'ai boost, mais il n'a pas à être, j'ai vu de nombreux exemples et ne semble pas possible d'envelopper mon cerveau autour de la faire fonctionner. Merci d'avance, fondamentalement, je veux
2012-12-06 14:28:51
if (date1 < date2) {
//do this
}
else {
//do that
}
Vous devez vous connecter pour publier un commentaire.
Il ressemble le format de date à l'aide de votre est déjà dans le vocabulaire de la commande et un standard de comparaison de chaîne de travail, quelque chose comme:
Vous aurez besoin pour vous assurer que l'espacement et la ponctuation est cohérente lors de l'utilisation de ce format, en particulier quelque chose comme
2012-12-06 9:28:51
va casser la comparaison.2012-12-06 09:28:51
va fonctionner, cependant.Vous avez de la chance - vos dates sont déjà dans le bon format pour faire un standard de comparaison de chaîne et obtenir des résultats corrects. Toutes les pièces vont de la plus importante à la moins importante, et vous êtes à l'aide de 24 heures.
Si ceux-ci sont
std::string
s vous pouvez utiliser la<
tout simplement que vous avez dans votre échantillon. Si ils sont de style C tableau de caractères les chaînes, utiliserstrcmp
.strcmp()
retourne intégrante de la valeur indiquant la relation entre les cordes:Une valeur de zéro indique que les deux chaînes sont égales.
Une valeur supérieure à zéro indique que le premier caractère qui ne correspond pas a une plus grande valeur dans str1 que dans str2; Et une valeur inférieure à zéro indique le contraire.