Bonjour,
je développe une application sur WPF et j'ai besoin de se connecter sur internet pour récupérer la date.
personne a t'il une solution ???
Bonjour,
je développe une application sur WPF et j'ai besoin de se connecter sur internet pour récupérer la date.
personne a t'il une solution ???
Bonjour,
Une petite recherche sur date internet c#
donne : http://www.developpez.net/forums/d11...ternet-csharp/
Règles du forum + Comment utiliser Developpez.com =
Découvrez le magazine gratuit de Developpez.com
Si vous développez en .NET, la FAQ, les tutos et l'aide MSDN sont vos amis !!!
Dvp.NET, la librairie .NET open source de Developpez.com
un exemple depuis
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 public static DateTime GetNISTDate(bool convertToLocalTime) { Random ran = new Random(DateTime.Now.Millisecond); DateTime date = DateTime.Today; string serverResponse = string.Empty; // Represents the list of NIST servers string[] servers = new string[] { "64.90.182.55", "206.246.118.250", "207.200.81.113", "128.138.188.172", "64.113.32.5", "64.147.116.229", "64.125.78.85", "128.138.188.172" }; // Try each server in random order to avoid blocked requests due to too frequent request for (int i = 0; i < 5; i++) { try { // Open a StreamReader to a random time server StreamReader reader = new StreamReader(new System.Net.Sockets.TcpClient(servers[ran.Next(0, servers.Length)], 13).GetStream()); serverResponse = reader.ReadToEnd(); reader.Close(); // Check to see that the signiture is there if (serverResponse.Length > 47 && serverResponse.Substring(38, 9).Equals("UTC(NIST)")) { // Parse the date int jd = int.Parse(serverResponse.Substring(1, 5)); int yr = int.Parse(serverResponse.Substring(7, 2)); int mo = int.Parse(serverResponse.Substring(10, 2)); int dy = int.Parse(serverResponse.Substring(13, 2)); int hr = int.Parse(serverResponse.Substring(16, 2)); int mm = int.Parse(serverResponse.Substring(19, 2)); int sc = int.Parse(serverResponse.Substring(22, 2)); if (jd > 51544) yr += 2000; else yr += 1999; date = new DateTime(yr, mo, dy, hr, mm, sc); // Convert it to the current timezone if desired if (convertToLocalTime) date = date.ToLocalTime(); // Exit the loop break; } } catch (Exception ex) { /* Do Nothing...try the next server */ } } return date; }
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
merci, ça marche très bien mais ça demande environ 50 secondes pour donner la résultat. y a t'il une solution pour optimiser ce code???
a mon avis tu peux faire un backgroundworker pour que tu prépares la datetime.
sinon tu peux mettre a jour la datetime de ton PC avec se backgroundworker. par la suite DateTime.now te donnera une bonne valeur ,non?
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
tu veut dire que je dois exécuter ce code dans un thread a part??? en tous cas merci.
Oui. Relire c est interisant
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
pour récupèrer plus de serveur time tu peux aller a temps internet en cliquant sur l horloge (bureau/barre de tâches)
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager