2009-09-16 7 views
0

J'utilise la gemme ruby ​​"Chronic" pour analyser des chaînes de quatre chiffres en tant qu'objets DateTime. J'utilise le temps en format militaire (c.-à-d. "0800") qui semble être un format valide selon la documentaion.Comment puis-je utiliser l'analyseur de date/heure du langage naturel Chronique pour analyser "12:00" comme 12:00 PM?

Dans la plupart des cas, Chronic analyse correctement le temps dans ce format - mais toujours analyse une chaîne de quatre chiffres commençant par "12" comme 00: XX AM du jour suivant, jamais comme 12: XX PM du courant journée.

Par exemple:

>> Chronic.parse("1234") 
=> Thu Sep 17 00:34:00 -0600 2009 

Je vois que si je mets deux points entre les heures et les minutes, je reçois la sortie désirée:

>> Chronic.parse("12:34") 
=> Wed Sep 16 12:34:00 -0600 2009 

Je suis cependant envie de passer la valeur sans deux points, comme ceci:

Quelle chaîne dois-je passer à l'analyseur pour Chronic à inter "1234" comme 12:34 du jour courant?

Répondre

Questions connexes