Quelle est la date ?

Signaler
Messages postés
24
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
28 octobre 2004
-
Messages postés
4
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
19 décembre 2005
-
Salut,

J'ai une date mais en fait c'est le nombre de secondes depuis le 1er Janvier 1970.

Comment faire pour la convertir en date actuelle au format hh:mm:ss ?

Merci de votre aide.

6 réponses

Messages postés
51
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
27 octobre 2004
1
DateTime.Now.ToString("HH:mm:ss");

ça devrait faire l'affaire, non?
Messages postés
24
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
28 octobre 2004

Salut,

Non, c'est pas ca. En effet, DatTime.Now renvoie la date actuelle par rapport a l'heure systeme du pc.

Or moi, j'ai un nombre de secondes correspondant a une date sans pour autant que cette date soit la date actuelle.
Car il s'agit du nombre de secondes écoulées depuis le 1er Janvier 1970...
Messages postés
51
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
27 octobre 2004
1
Je vois pas exactement ce que tu veux, tu peux montrer ton code stp?
Ca sera plus parlant...
Messages postés
50
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
13 septembre 2008

C'est vrai que je suis pas tres clair dans mes explications.

Alors, dans le monde Unix/Linux, il n'est pas rare d'avoir une date qui correpond a un nombre. Ce nombre est en fait le nombre de secondes écoulées depuis le 1er janvier 1970.
Par exemple, pour le 2 janvier 1970, la date en "nombre" sera 86400.

Donc moi j'ai une date en "nombre", par exemple 1077130457 qui correspond a la date "formaté" du 18 février 2004 à 19:55.

Ma question est donc de savoir s'il existe une fonction en C# qui puisse convertir une date "en nombre" en une date "formaté" du style "hh:mm:ss" ?
Messages postés
51
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
27 octobre 2004
1
je suis toujours pas sûr de ce que tu cherches mais je pense à ça:

// 1er Janvier 1970
DateTime oldDate = new DateTime(1970, 1, 1);
// intervalle de temps écoulé depuis cette date
TimeSpan ts = DateTime.Now - oldDate;
// nouvelle date à partir de cette intervalle
DateTime newDate = new DateTime(ts.Ticks);
MessageBox.Show(newDate.ToString("HH:mm:ss"));
Messages postés
4
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
19 décembre 2005

voici ma fonction qui donne un résultat depuis le 01/01/1901 :



------------------------------------------------------

#region METHODE : SecondToDate : Renvoie le nombre de seconde à partir de 1er Janvier 1901

////////////////////////////////////////////////////////////

/// <summary>

/// SecondToDate : Renvoie le nombre de seconde à partir de 1er Janvier 1901

/// </summary>

/// <returns></returns>

/// Nombre de seconde depuis 1er Janvier 1901


////////////////////////////////////////////////////////////

[Category("XIL") ,

Description("Renvoie le nombre de seconde à partir de 1er Janvier 1901")]

public DateTime SecondToDate(double p_dNbSeconde)

{

#region DECLARATION DES VARIABLES LOCALES

string ROUTINE = "SecondToDate";


DateTime l_date01011901 = new DateTime(1901, 1,
1); // Date : 1er Janvier 1901


TimeSpan l_tsIntervalle;


// Intervalle de temps depuis 1er Janvier 1901 en
secondes


DateTime l_dateRes = new
DateTime();
// Date résultat

#endregion

#region VERIFICATION DES PARAMETRES EN ENTREE

#endregion

#region CODE SOURCE

try

{

// Initialisation de l'intervalle

l_tsIntervalle = TimeSpan.FromSeconds(p_dNbSeconde);



// Ajout d'intervalle de seconde

l_dateRes = l_date01011901.Add(l_tsIntervalle);

}

#region GESTION D'ERREUR

catch(Exception ex)

{

//m_GE.GetError( ROUTINE , ex);

}

#endregion

#endregion

#region VALEUR RETOURNEE

return l_dateRes ;

#endregion

}

#endregion



------------------------------------------------------

Dahan