10
votes

Ajouter des jours à ce jour dans ActionScript

Nous avons une application dans laquelle l'utilisateur doit entrer une date de la valeur de l'OMS qui n'est pas plus de 30 jours après la date actuelle (date à laquelle l'utilisateur utilise l'application). Ceci est une application flash, donc j'ai besoin d'un moyen d'ajouter 30 jours à la date actuelle et d'obtenir la bonne date. Quelque chose comme dans JavaScript: xxx

ou en C #: xxx

est une telle chose dans ActionScript? >


0 commentaires

5 Réponses :


1
votes

J'écris le code du sommet de ma tête, sans le compiler, mais j'utiliserais Gettime (). Quelque chose comme: xxx

1000 * 60 * 60 * 24 * 30 = millisecondes * secondes * minutes * heures * jours * jours

est logique? >


0 commentaires

3
votes

mon classe Timespan pourrait s'avérer utile ici (c'est un port du système .NET.Thimespan): xxx


1 commentaires

Merci, d'autres exemples ont juste ajouté des jours mais n'ont pas augmenté le mois.



5
votes

Je suggère que vous regardez ici: Comment pouvez-vous gagner du temps en utilisant la classe de date intégrée? .

Il devrait être quelque chose comme ceci: p>

var date:Date = new Date();
date.setDate(date.date + 30);


2 commentaires

Date.Date - Les propriétés sont sensibles à la casse.


Correct, j'ai mis à jour le code. Je n'ai jamais aimé la convention de dénomination ActionScript;)



28
votes

Bien que les autres réponses fonctionneront, je suis sûr que cela est aussi facile que:

var dte:Date = new Date();
dte.date += 30; 
//the date property is the day of the month, so on Sept. 15 2009 it will be 15


2 commentaires

C'est génial! Je veux juste souligner que cela ne fonctionne que dans AS3


C'est vrai. N'oubliez pas non plus que la propriété du mois est 0. Janvier est le mois 0 et décembre est le mois 11.



2
votes

@zerata

Ajout de millisecondes directement ne fonctionnera pas si les dates sont à l'autre jour des changements d'économie de lumière ...

Cependant, vous pouvez ajouter des secondes directement:

var date: date = nouvelle date (); date.seconds + = 86400; => Cela fonctionne même si les dates sont à travers le changement de DLS.

Maurice


0 commentaires