De vérifier la date et l'heure entré par l'utilisateur dans UNIX
J'ai un script Shell qui utilise la date et l'heure de paramètres entrés par l'utilisateur.
Date mm/jj/aaaa et l'Heure sous la forme HH:MM .
Quel serait le meilleur moyen de vérifier que l'utilisateur a entré la bonne date [ comme le mois doit être inférieur à 12.... pour le moment MM doit être inférieure à 60...
Nous n'avons aucune construit dans les fonctions de sous UNIX pour vérifier l'horodatage?
Pas de réponse à votre question, mais ce toujours me chiffonne: "Date mm/jj/aaaa": ce format est utilisé uniquement en Amérique du Nord. Envisager l'utilisation de la norme ISO-8601 format aaaa-mm-jj.
LOL, laissez-les salauds entrez la date UNIX, si ils ne le savent pas, ils ne sont pas dignes d'utilisateurs!
LOL, laissez-les salauds entrez la date UNIX, si ils ne le savent pas, ils ne sont pas dignes d'utilisateurs!
OriginalL'auteur Balualways | 2011-01-06
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser les unix date outil pour analyser et vérifier par vous, et de tester le code de retour par exemple
Une date valide, le code de retour 0:
Une date non valide, le code de retour 1:
Vous pouvez modifier le format d'entrée acceptée par date à l'aide de la +FORMAT option (l'homme date)
Mettre le tout ensemble comme un petit script:
date -d "1/12/2000 13:111111111100:00"
La sortie est 'date: date non valide `1/12/2000 13:111111111100:00", ce qui est correct, non?
néant, ce n'est traitée comme une date valide de la chaîne, et a ajouté dépassé minutes en heure, de devenir quelque chose comme
Wed Jan 7 17:44:00 SMT 939
traité comme valide, par qui? Ma version à jour (8.5) indicateurs comme invalide.
date (coreutils) 5.2.1
traité comme valide, ne soyez pas surprise, cependant, sidate (GNU coreutils) 5.97
il de retour en tant que chaîne de date invalideOriginalL'auteur Joel
Vous pouvez utiliser
grep
pour vérifier que l'entrée est conforme au bon format:où MODÈLE est régulièrement expressino qui correspond à toutes les entrées valides et valables uniquement sur les intrants. Je quitte la construction de ce modèle pour vous ;-).
OriginalL'auteur Raedwald
(Réponse tardive)
Quelque chose que vous pouvez utiliser:
OriginalL'auteur slashmais