2010-08-19 2 views
0

J'ai un backend php qui fournit une heure (par exemple '07: 00: 00'). Cette heure est reconnue comme une chaîne mais j'en ai besoin comme date.gérer un objet temps de php dans flex (l'analyser à un objet Date)

Donc ce dont j'ai besoin est: Convertir une chaîne '07: 00: 00 'en objet Flex Date.

Existe-t-il un moyen de le faire (sans utiliser d'expressions régulières)?

Répondre

1
  • String.split (":") -> tableau de "07", "00", "00"
  • parseInt sur chaque partie
  • créer un objet de date et utilisez setHours, setMinutes et Méthodes setSeconds. N'oubliez pas que l'objet Date nouvellement créé présente la date actuelle.

+0

C'est comme utiliser des expressions régulières pour moi. Je cherche quelque chose comme la fonction Date.parse(). Mais votre réponse est bonne, j'aurais dû être plus détaillée. – hering

+0

NB: en flex les jours (Date.date) commencent à 1, mais les mois (Date.month) commencent à 0. Cela pourrait manquer lors de la conversion de la date PHP. Le petit morveux d'un problème m'a attrapé avant! – Ryan

0

Utilisez la classe Date http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/

particulièrement l'parse() la propriété, mais vous devez également être en mesure d'utiliser un horodatage PHP et obtenir la classe Date pour retourner une chaîne

//value returned from PHP 
    var timestamp:Number = 1234670090; 
    var date:Date = new Date(timestamp); 

    var date2:Date = new Date(); 
    var time:String = date2.parse('07:00:00'); 

    // trace(date) or trace(time) should give you a String 
    //with the format Sat Nov 30 15:20:00 GMT-0800 1974 

Vous pouvez utilisez les propriétés de la variable date pour retourner l'année, le mois, le jour, les heures, les minutes, etc ...

+0

Semble, que vous m'avez mal compris: Je n'ai pas d'horodatage. Tout ce que j'ai, c'est '07: 00: 00 '. Et 'Date.parse (" 07:00:00 ");' ne fonctionnera pas. – hering

+0

Eh bien. J'ai supposé que si vous pouviez obtenir une chaîne de PHP, vous devriez pouvoir obtenir un horodatage, mais si vous ne le pouvez pas, cela ne demanderait pas beaucoup d'efforts pour transformer votre chaîne en un format qui pourrait être analysé par la classe Date . Je suppose que la classe Date attend une année, un jour et un mois où vous ne fournissez que les heures et les secondes, je ne l'ai pas testé mais je suis sûr qu'en concaténant l'information manquante, vous obtiendriez ce que vous ' re cherche. – PatrickS

+0

La chose est: je me fiche de l'année, du mois et du jour. C'est juste le temps dont j'ai besoin. Votre estimation sur la classe Date est correcte. Je pensais qu'il y avait une possibilité de laisser l'année, le mois et le jour vides. – hering

Questions connexes