10
votes

Parse Durations en anglais simple

J'aimerais trouver une bibliothèque ActionScript pouvant prendre des cordes comme:

  • Deux jours
  • 2h
  • un mois
  • une semaine

    et analyser dans la durée (retourner l'heure dans une unité).

    On dirait que cela a été fait tant de fois avant et je détesterais mettre en œuvre une telle chose moi-même.

    Si non dans ActionScript puis dans Python (je peux exécuter ceci sur le côté serveur, je suppose).

    (Veuillez noter que je cherche une analyse, pas la mise en forme ..)


5 commentaires

FYI, a trouvé ceci: Github.com / Gitpan / Time-Durée-Parse / Blob / Master / Lib / ... Bien que cela ne semble pas très robuste du premier coup d'œil


Quelque chose comme Stackoverflow.com/Questtions/3451031/... ?


Oui merci. Bien que le code exemple affichait, il est assez simpliste. Je cherchais quelque chose d'un peu plus robuste .. sinon le faire moi-même n'est pas si plus de travail.


Salut Assaf. Doit être comme ou python. Je connais un projet en perle


trouvé quelque chose d'utile?


5 Réponses :


0
votes

Je suppose que Javascript Lib fonctionnera, car les langues de JS et JS proviennent de la même norme de l'ECMA, avec quelques différences mineures.

http://www.datejs.com/ fait ce que vous voulez dans JS.


1 commentaires

Est-ce que ça analyse des durées ou juste des dates?



1
votes

Juste pour l'enregistrement, JavaScript ne fonctionnera pas dans FLEX directement. Sûrs sûr que vous le savez.

maintenant datejs est une bibliothèque vraiment cool. Ce que vous devriez vraiment faire, utilisez les avantages de JS en tant qu'utilisation de la classe exterface d'interface.

Utilisez le code suivant dans AS3 et assurez-vous d'inclure Datejs.js, dans l'emballage HTML, dans lequel ce SWF généré AS3 sera utilisé. XXX

Pour les détails externesInterface, vous pouvez voir: http://liveocs.adobe.com/flash/9.0/acScriptLangRefv3 /flash/external/externalinterface.html


7 commentaires

Je ne vois rien dans les documents de Datejs qui le suggèrent peut analyser Durations .. Il analyse des dates. Ça ne m'aidait pas vraiment.


code.google.com/p/datejs/wiki/apidocumentation Référence API pour DateJs ce que vous pouvez faire est de date.todayay (). mois (2) - date.today () Returalisent le nombre de millisecondes entre aujourd'hui et la même date deux mois plus tard.


De même, il retournera les choses pour la date.Today (). Heures (2) date.today.minutes (2) etc.


Il peut même aller avec des choses comme la date.parse ("2 heures") - date.parrse ("maintenant") qui donne un nombre de millisecondes entre maintenant et deux heures plus tard.


Je vois. Il suppose donc que toute durée des entrées utilisateur est réellement "à partir de maintenant"? Si cela pourrait fonctionner.


Oui quelque chose comme Datation.Parse ("2 h") Returalise le temps deux heures à partir de maintenant et soustrayez un objet de date d'un autre retour au nombre de millisecondes entre les deux dates. Vous devez lire l'API pour plus de détails et des fonctionnalités fraîches.


Évaluer-le et genre de déçu. Cela ne comprend pas que "60 m" ou "60 m" signifie 60 minutes. "70 secondes" donne une date de 1970 ... Meh ..



0
votes

La date standard * NIX date (1) code> est très bonne à l'analyse de telles spécifications, comme vous pouvez le voir ci-dessous (script shell).

$ date; date -d '1 week 2 days 2 hours'
Fri Feb  4 16:31:28 AMT 2011
Sun Feb 13 18:31:28 AMT 2011


1 commentaires

$ Info Articles relatifs de Coreutils aux cordes de date '



0
votes

Je pense que si vous allez le faire dans AS3 la meilleure option (comme je le vois dans les autres réponses) consiste à utiliser Datejs, portant le code JavaScript vers AS3 n'est pas difficile, et vous avez également l'avantage d'utiliser externallinterface si vous ne voulez pas le porter.

N'oubliez pas que ActionScript est en effet un clone JavaScript afin que vous puissiez coller le code de Datejs et modifier les petits détails de la syntaxe, mais Mantain le noyau intact


0 commentaires