com.neolao.data.TimeUtils

Méthodes utiles liées aux temps.

Méthodes

Visibilité Return Nom Param 1 Param 2 Description
static public Number milli2sec pMilliseconde:Number Converti les millisecondes en secondes
static public Number milli2min pMilliseconde:Number Converti les millisecondes en minutes
static public Number milli2hour pMilliseconde:Number Converti les millisecondes en heures
static public Number sec2milli pSeconde:Number Converti les secondes en millisecondes
static public Number milli2time pMilliseconde:Number Converti les millisecondes en temps au format hh:mm:ss
static public Boolean bisextil pAnnee:Number Indique si l'année est bisextile ou pas
static public Date nextMonth pMaDate:Date Ajoute 1 mois à l'objet Date
static public Date previousMonth pMaDate:Date Retire 1 mois à l'objet Date
static public String monthName pMois:Number pLangue:String Retrouve le nom du mois à partir son numéro
static public String dayName pJour:Number pLangue:String Retrouve le nom du jour à partir son numéro

Source

import com.neolao.data.NumberUtils;
/**
 * Méthodes utiles liées aux temps
 * @author 		neolao <neo@neolao.com>
 * @version 		1.3 (19/03/2004)
 * @link		http://resources.neolao.com/flash/classes/data/TimeUtils			
 * @license		http://creativecommons.org/licenses/by-sa/2.0/	
 */
class com.neolao.data.TimeUtils {
	public static var className:String = "TimeUtils";
	public static var version:String = "1.3";
	public static var classPackage:String = "com.neolao.data";
	public static var author:String = "neolao";
	public static var link:String = "http://www.neolao.com";
 
	// ----------------------------- CONSTANTES --------------------------------
	/**
	 * 
	 */
	private static var MILLI:Number = 1000;
	private static var SEC:Number = 60;
	private static var MIN:Number = 60;
	private static var MONTH_FR:Array = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"];
	private static var MONTH_US:Array = ["January", "Febriary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
	private static var DAY_FR:Array = ["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"];
	private static var DAY_US:Array = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
 
 
	/*========================== METHODES PUBLIQUES ==========================*/
	/*========================================================================*/
	/**
	 * Converti les millisecondes en secondes
	 * @param pMilliseconde Millisecondes à convertir
	 * @return L'équivalent en secondes
	 */
	public static function milli2sec(pMilliseconde:Number):Number {
		return Math.floor(pMilliseconde / MILLI);
	}
	/**
	 * Converti les millisecondes en minutes
	 * @param pMilliseconde Millisecondes à convertir
	 * @return L'équivalent en minutes
	 */
	public static function milli2min(pMilliseconde:Number):Number {
		return Math.floor(pMilliseconde / (MILLI * SEC));
	}
	/**
	 * Converti les millisecondes en heures
	 * @param pMilliseconde Millisecondes à convertir
	 * @return L'équivalent en heures
	 */
	public static function milli2hour(pMilliseconde:Number):Number {
		return Math.floor(pMilliseconde / (MILLI * SEC * MIN));
	}
	/**
	 * Converti les secondes en millisecondes
	 * @param pSeconde Secondes à convertir
	 * @return L'équivalent en millisecondes
	 */
	public static function sec2milli(pSeconde:Number):Number {
		return pSeconde * MILLI;
	}
	/**
	 * Converti les millisecondes en temps au format hh:mm:ss
	 * @param pSeconde Millisecondes à convertir
	 * @return L'équivalent temps au format hh:mm:ss
	 */
	public static function milli2time(pMilliseconde:Number):String {
		return NumberUtils.twoChar(milli2hour(pMilliseconde)) + ":" + NumberUtils.twoChar(milli2min(pMilliseconde)) + ":" + NumberUtils.twoChar(milli2sec(pMilliseconde));
	}
	/**
	 * Indique si l'année est bisextile ou pas
	 * @param pAnnee L'année à traiter
	 * @return true si l'année est bisextile, sinon false
	 */
	public static function bisextil(pAnnee:Number):Boolean {
		return NumberUtils.divisible(pAnnee, 4);
	}
	/**
	 * Ajoute 1 mois à l'objet Date
	 * @param pMaDate L'objet Date à modifier
	 * @return Le même objet Date avec 1 mois en plus
	 */
	public static function nextMonth(pMaDate:Date):Date {
		var vNewMonth = pMaDate.getMonth()+1;
		pMaDate.setMonth(vNewMonth);
 
		return pMaDate;
	}
	/**
	 * Retire 1 mois à l'objet Date
	 * @param pMaDate L'objet Date à modifier
	 * @return Le même objet Date avec 1 mois en moins
	 */
	public static function previousMonth(pMaDate:Date):Date {
		var vNewMonth = pMaDate.getMonth()-1;
		pMaDate.setMonth(vNewMonth);
 
		return pMaDate;
	}
	/**
	 * Retrouve le nom du mois à partir son numéro
	 * @param pMois Le numéro du mois dans l'année (0 = janvier)
	 * @param pLangue La langue utilisée ("fr" ou "us") [option = "us"]
	 * @return Le nom du mois
	 */
	public static function monthName(pMois:Number, pLangue:String):String{
		var vMesMois:Array;
		switch(pLangue){
			case "fr":
				vMesMois = MONTH_FR;
				break;
			case "us":
			default:
				vMesMois = MONTH_US;
		}
 
		return vMesMois[pMois];
	}
	/**
	 * Retrouve le nom du jour à partir son numéro
	 * @param pJour Le numéro du jour dans la semaine (0 = dimanche)
	 * @param pLangue La langue utilisée ("fr" ou "us") [option = "us"]
	 * @return Le nom du jour
	 */
	public static function dayName(pJour:Number, pLangue:String):String{
		var vMesMois:Array;
		switch(pLangue){
			case "fr":
				vMesMois = DAY_FR;
				break;
			case "us":
			default:
				vMesMois = DAY_US;
		}
 
		return vMesMois[pJour-1];
	}
	/*==================== FIN = METHODES PUBLIQUES = FIN ====================*/
	/*========================================================================*/
}