Bonjour


Je dois traiter des string DateTime avec des millisecondes
Malheureusement le nombre de milliseconde est variable

2009-08-05T09:41:52.982
2009-08-05T09:42:54.0
2009-08-05T12:31:57.50


Alors j'ai fais une methode un peu bateau dont je ne suis pas tres fier

Je remplace aussi le T par blanc car dans ce P* de fichier j'ai parfois un T entre la date et le time mais parfois un blanc

Si quelq'un trouve mieux je suis preneur


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
   // *******************************************************************************
    private DateTime GetTime(string navTrace)
    {
      bool ok;
      DateTime dt = new DateTime();
 
      String dx = navTrace.Replace('T', ' ');
      ok=DateTime.TryParseExact(dx, "yyyy-MM-dd HH:mm:ss.f", null, System.Globalization.DateTimeStyles.AssumeUniversal, out dt);
      if (!ok)
      {
        ok = DateTime.TryParseExact(dx, "yyyy-MM-dd HH:mm:ss.ff", null, System.Globalization.DateTimeStyles.AssumeUniversal, out dt);
        if (!ok)
        {
          ok = DateTime.TryParseExact(dx, "yyyy-MM-dd HH:mm:ss.fff", null, System.Globalization.DateTimeStyles.AssumeUniversal, out dt);
          if (!ok)
          {
            bool Zut = true;
          }
        }
      }
      return dt;
    }