[JS] Fonction de formatage du temps

Cette section est destinée aux scripts partagés par la communauté. Chaque post est destiné à un script. Suivez bien les recommandations.
Avatar de l’utilisateur
Tsurugi21
Messages : 221
Inscription : 26 Nov 2012 23:21
Localisation : Dans mon sous-sol ou chez des potes, probablement

[JS] Fonction de formatage du temps

Message par Tsurugi21 » 21 Août 2014 05:46

Salut. Je voulais me tester moi meme alors j'ai fait un script (ou plutot seulement une fonction) qui transforme des secondes (int) en format hh:mm:ss (string)
on peut aussi seulement mettre mm:ss en donnant false en 2 eme parametre. ex: SecToTime(3600,true) retournera "01:00:00". SecToTime(60,false) donnera "01:00" et SecToTime(60,true) retournera "00:01:00". Enjoy! ^^

Code : Tout sélectionner

function SecToTime (sec : int,includeh : boolean) {
	var h : int;
	var m : int;
	var s : int;
	var h2 : String;
	var m2 : String;
	var s2 : String;
	h = Mathf.Floor(sec / 3600);
	m = Mathf.Floor((sec - (h * 3600)) / 60);
	s = sec - ((h * 3600) + (m * 60));
	if(h < 10){
		h2 = "0" + h;
	}else{
		h2 = "" + h;
	}
	if(m < 10){
		m2 = "0" + m;
	}else{
		m2 = "" + m;
	}
	if(s < 10){
		s2 = "0" + s;
	}else{
		s2 = "" + s;
	}
	if(includeh){
		return h2 + ":" + m2 + ":" + s2;
	}else{
		return m2 + ":" + s2;
	}
}
Graphics doesnt mean everything

Avatar de l’utilisateur
artemisart
Messages : 1893
Inscription : 21 Juin 2011 19:51
Localisation : Centre
Contact :

Re: [JS] Fonction de formatage du temps

Message par artemisart » 21 Août 2014 10:54

Salut,

En fait le framework .net intègre déjà des outils pour gérer le temps simplement avec les classes DateTime, TimeSpan, etc ;)

Si on veut obtenir une "durée" à partir d'un nombre de secondes :

Code : Tout sélectionner

DateTime time = new DateTime (seconds * TimeSpan.TicksPerSecond);
Et ensuite pour le formater :

Code : Tout sélectionner

time.ToString ("hh:mm:ss");
time.ToString ("mm:ss"); // etc
Plus d'infos :
http://msdn.microsoft.com/en-us/library ... 80%29.aspx
http://msdn.microsoft.com/en-US/library ... 80%29.aspx

(en .net4 c'est plus clean et avec que des TimeSpan (plus approprié) mais Unity en est pas encore là...)

Avatar de l’utilisateur
Tsurugi21
Messages : 221
Inscription : 26 Nov 2012 23:21
Localisation : Dans mon sous-sol ou chez des potes, probablement

Re: [JS] Fonction de formatage du temps

Message par Tsurugi21 » 21 Août 2014 15:38

Donc ma fontion ne sert à rien :roll: Quoique je trouve ma méthode plus rapide mais bon, c'est gentil d'avoir précisé une alternative ^^
Graphics doesnt mean everything

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: [JS] Fonction de formatage du temps

Message par ZJP » 30 Avr 2015 17:35

Vieux sujet, mais je travaille actuellement à une DLL (Native) concurrente à celle-ci, donc le souci c'est posé (durée du film toussa...) :mrgreen:

Code : Tout sélectionner

using UnityEngine;
using System; // TimeSpan

public class TimeSpanTest : MonoBehaviour
{
	public int movieSeconds = 86399;
	public TimeSpan timeSpan;

	void Start ()
	{
		timeSpan = TimeSpan.FromSeconds(movieSeconds);
		string output = String.Format("{0}:{1}:{2}:{3}",timeSpan.Days,timeSpan.Hours,timeSpan.Minutes,timeSpan.Seconds);
		Debug.Log(output);
	}
}

Répondre

Revenir vers « Scripts »