Bonjour, Crée une petite fonction qui reçoit en paramètre un objet string qui réprésente la date au format du fichier et retourne un objet DateTime. utilise la méthode "substring" ou "split" de la classe string pour extraire jj, mm, aa de ton objet date. convertit "jj" "mm" "aa" en int. crée une nouvelle instance de Date avec jj, mm aa
Exple
private DateTime stringToDate(string jjmmaa) { int iJJ = int.parse(jjmmaa.substring(0,2)); int iMM = int.parse(jjmmaa.substring(3,2)); int iAAAA = int.parse("20" + jjmmaa.substring(5,2)); DateTime myNewDate = new DateTime(iAAAA, iMM, iJJ); return myNewDate ; }
si le format de date du fichier a des délimiteurs, "split" peut être facile à utiliser que substring. fait cela dans un try /catch afin de lever une exception dans le cas où toutes les dates ne respecteraient pas ce format. je l'ai déjà fait avec une instance DateTime ayant comme 1er paramètre l'année sur 4 chiffres. ça marche.
tu va ainsi parcourir ton fichier et modifier les dates.
@+
----- Original Message ----- From: "Chris" Newsgroups: microsoft.public.fr.dotnet.csharp Sent: Wednesday, December 22, 2004 11:56 AM Subject: Re: Convertir un CTime C++ en DateTime C#
peeter a écrit : > System.Convert.ToDateTime(int value)
non ça ne fonctionne pas.
-- Christophe
Bonjour,
Crée une petite fonction qui reçoit en paramètre un objet string qui
réprésente la date au format du fichier et
retourne un objet DateTime.
utilise la méthode "substring" ou "split" de la classe string pour extraire
jj, mm, aa de ton objet date.
convertit "jj" "mm" "aa" en int.
crée une nouvelle instance de Date avec jj, mm aa
Exple
private DateTime stringToDate(string jjmmaa)
{
int iJJ = int.parse(jjmmaa.substring(0,2));
int iMM = int.parse(jjmmaa.substring(3,2));
int iAAAA = int.parse("20" + jjmmaa.substring(5,2));
DateTime myNewDate = new DateTime(iAAAA, iMM, iJJ);
return myNewDate ;
}
si le format de date du fichier a des délimiteurs, "split" peut être facile
à utiliser que substring.
fait cela dans un try /catch afin de lever une exception dans le cas où
toutes les dates ne respecteraient pas ce format.
je l'ai déjà fait avec une instance DateTime ayant comme 1er paramètre
l'année sur 4 chiffres.
ça marche.
tu va ainsi parcourir ton fichier et modifier les dates.
@+
----- Original Message -----
From: "Chris" <boulot@nowhere.com>
Newsgroups: microsoft.public.fr.dotnet.csharp
Sent: Wednesday, December 22, 2004 11:56 AM
Subject: Re: Convertir un CTime C++ en DateTime C#
peeter a écrit :
> System.Convert.ToDateTime(int value)
Bonjour, Crée une petite fonction qui reçoit en paramètre un objet string qui réprésente la date au format du fichier et retourne un objet DateTime. utilise la méthode "substring" ou "split" de la classe string pour extraire jj, mm, aa de ton objet date. convertit "jj" "mm" "aa" en int. crée une nouvelle instance de Date avec jj, mm aa
Exple
private DateTime stringToDate(string jjmmaa) { int iJJ = int.parse(jjmmaa.substring(0,2)); int iMM = int.parse(jjmmaa.substring(3,2)); int iAAAA = int.parse("20" + jjmmaa.substring(5,2)); DateTime myNewDate = new DateTime(iAAAA, iMM, iJJ); return myNewDate ; }
si le format de date du fichier a des délimiteurs, "split" peut être facile à utiliser que substring. fait cela dans un try /catch afin de lever une exception dans le cas où toutes les dates ne respecteraient pas ce format. je l'ai déjà fait avec une instance DateTime ayant comme 1er paramètre l'année sur 4 chiffres. ça marche.
tu va ainsi parcourir ton fichier et modifier les dates.
@+
----- Original Message ----- From: "Chris" Newsgroups: microsoft.public.fr.dotnet.csharp Sent: Wednesday, December 22, 2004 11:56 AM Subject: Re: Convertir un CTime C++ en DateTime C#
peeter a écrit : > System.Convert.ToDateTime(int value)
non ça ne fonctionne pas.
-- Christophe
Simon Mourier [MS]
J'imagine que le uint32 est de type time_t au départ? Voir l'excellent article ici pour plus d'infos sur tout cela.
et une solution ici: http://blogs.msdn.com/brada/archive/2003/07/30/50205.aspx public static DateTime Time_T2DateTime(uint time_t) { long win32FileTime = 10000000*(long)time_t + 116444736000000000; return DateTime.FromFileTimeUtc(win32FileTime); }
Simon.
"Chris" a écrit dans le message de news: %
peeter a écrit :
System.Convert.ToDateTime(int value)
non ça ne fonctionne pas.
-- Christophe
J'imagine que le uint32 est de type time_t au départ?
Voir l'excellent article ici pour plus d'infos sur tout cela.
et une solution ici:
http://blogs.msdn.com/brada/archive/2003/07/30/50205.aspx
public static DateTime Time_T2DateTime(uint time_t)
{
long win32FileTime = 10000000*(long)time_t + 116444736000000000;
return DateTime.FromFileTimeUtc(win32FileTime);
}
Simon.
"Chris" <boulot@nowhere.com> a écrit dans le message de news:
%23B7khSB6EHA.1524@TK2MSFTNGP09.phx.gbl...
et une solution ici: http://blogs.msdn.com/brada/archive/2003/07/30/50205.aspx public static DateTime Time_T2DateTime(uint time_t) { long win32FileTime = 10000000*(long)time_t + 116444736000000000; return DateTime.FromFileTimeUtc(win32FileTime); }
Simon.
"Chris" a écrit dans le message de news: %
peeter a écrit :
System.Convert.ToDateTime(int value)
non ça ne fonctionne pas.
-- Christophe
Chris
Simon Mourier [MS] a écrit :
public static DateTime Time_T2DateTime(uint time_t) { long win32FileTime = 10000000*(long)time_t + 116444736000000000; return DateTime.FromFileTimeUtc(win32FileTime); }
rahhhh !!! j'avais bien saisi qu'en c++ on avait le nombre de secondes écoulées depuis le 1/1/1970 mais je n'arrivais pas à le convertir (j'étais parti sur un décalage de bits).
merci beaucoup (je cherche depuis ce matin).
-- Christophe
Simon Mourier [MS] a écrit :
public static DateTime Time_T2DateTime(uint time_t)
{
long win32FileTime = 10000000*(long)time_t + 116444736000000000;
return DateTime.FromFileTimeUtc(win32FileTime);
}
rahhhh !!! j'avais bien saisi qu'en c++ on avait le nombre de secondes
écoulées depuis le 1/1/1970 mais je n'arrivais pas à le convertir
(j'étais parti sur un décalage de bits).
public static DateTime Time_T2DateTime(uint time_t) { long win32FileTime = 10000000*(long)time_t + 116444736000000000; return DateTime.FromFileTimeUtc(win32FileTime); }
rahhhh !!! j'avais bien saisi qu'en c++ on avait le nombre de secondes écoulées depuis le 1/1/1970 mais je n'arrivais pas à le convertir (j'étais parti sur un décalage de bits).