J'ai essayé d'utiliser la fonction Amarghosh mais j'avais des problèmes avec les valeurs UTC. Et avec les premiers jours d'une année aussi.
donc j'ai modifié le réglage de jan1 (selon sundays) et le calcul la semaine dernière
Voici la fonction que j'utilise, basée sur un de Amarghosh:
public static function getWeek(date:Date):String
{
var days:Array = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var year:Number = date.fullYear;
var isLeap:Boolean = (year % 4 == 0) && (year % 100 != 0)
|| (year % 100 == 0) && (year % 400 == 0);
if(isLeap)
days[1]++;
var d:Number = 0;
for(var i:int = 0; i < (date.month); i++){
d += days[i];
}
d += date.date;
var temp:Date = new Date(year, 0, 1);
var jan1:Number = temp.day;
if(jan1 == 0) // sunday
jan1 = 7;
d += jan1 - 1;
var week:int = int((d-1)/7);
if(week == 0) // les premiers jours de l'année
week = 52;
return (week < 10 ? "0" : "") + week;
}
de Merci, mais ce n'est pas ce Je veux dire. Je recherche la semaine de l'année qui peut être entre la 1ère et la 52e semaine de l'année. Par exemple, le 4 mars 2010 est la 9ème semaine de l'année. – javanes
C'est exactement ce que cette fonction fera pour vous - passez une 'nouvelle Date (2010, 2, 4);' à cette fonction et voyez ce qu'elle retourne. – Amarghosh
@javanes Oups, il y avait une erreur dans la fonction, l'a réparée. Essayez maintenant. – Amarghosh