Accueil > Forum > > > > differnce entre deux dates de type: DD/MM/YYYY hh:mm:ss:msms:µsµs
differnce entre deux dates de type: DD/MM/YYYY hh:mm:ss:msms:µsµs
jeudi 30 décembre 2010 à 09:45:58 |
differnce entre deux dates de type: DD/MM/YYYY hh:mm:ss:msms:µsµs

rimie_rimie
|
Bonjour,
j'ai deux dates de type 14/05/2010 15:30:05:20:05 cad DD/MM/YYYY hh:mm:ss:msms:µsµs.
cette information date est enregistrer comme chaine de caractere dans un tableau parceque elle est charger a partir d'un fichier .txt
je veux savoir comment calculer la difference entre ces deux dates et la différence sera en ms ou bien en s.... suivant un choix donner par l'utilisateur
j'ai essayé de faire un programme mais ça marche pas: je vais laisser la partie millisecondes et microsecondes pour apres je vais essayé tt d'abord de faire marcher mon programme jusqu au seconde
le voila merci de me dire ou est le probleme:
Code :
#include <stdio.h>
#include <time.h>
int main()
{
struct tm1,tm2;
char buf1[255], buf2[255];
double diff;
strptime("2001-11-12 18:31:01", "%Y-%m-%d %H:%M:%S", &tm1);
strftime(buf1, sizeof(buf1), "%d %b %Y %H:%M", &tm1);
puts(buf);
strptime("2001-11-13 05:31:01", "%Y-%m-%d %H:%M:%S", &tm2);
strftime(buf2, sizeof(buf2), "%d %b %Y %H:%M", &tm2);
puts(buf);
time_t T1= mktime(tm * tim);
time_t T2 = mktime(tm * tim);
diff = T2 - T1;
printf("la difference en secondes est:%d",diff);
return 0;
}
|
|
jeudi 30 décembre 2010 à 10:39:59 |
Re : differnce entre deux dates de type: DD/MM/YYYY hh:mm:ss:msms:µsµs

buno
|
Hello,
Plusieurs petite erreurs:
// tu ne dis pas quelle struct
// buf n'est pas connu
mktime(tm * tim); mktime(&tm1)
// tu copies le prototype, là... et tim n'est pas connu
Après, je ne suis pas sous Linux, donc je ne peux pas compiler (à cause de strptime)
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez mon réseau professionnel sur Viadeo
|
|
jeudi 30 décembre 2010 à 10:41:11 |
Re : differnce entre deux dates de type: DD/MM/YYYY hh:mm:ss:msms:µsµs

buno
|
Perso, je serais resté avec des char* et des coup de strtok() pour découper la chaine en morceaux
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez mon réseau professionnel sur Viadeo
|
|
jeudi 30 décembre 2010 à 12:09:06 |
Re : differnce entre deux dates de type: DD/MM/YYYY hh:mm:ss:msms:µsµs

CptPingu
|
Je reconnais le code du man que tu as mal recopié :p
Ce ne sont que des erreurs de copier coller, pas de soucis particuliers, à part pour ton printf ou tu as mis %d pour un double. (%d et %i sont pour des entiers, d'ou le résultat incohérent).
La fonction strptime n'est absolument pas standard, et si tu as bien lu le man, il te faut ajouter un define avant time.h
Code C/C++ :
#define _XOPEN_SOURCE
#include <stdio.h>
#include <time.h>
int main(void)
{
struct tm tm1,tm2;
char buf1[255], buf2[255];
unsigned int diff;
strptime("2001-11-12 18:31:01", "%Y-%m-%d %H:%M:%S", &tm1);
strftime(buf1, sizeof(buf1), "%d %b %Y %H:%M", &tm1);
puts(buf1);
strptime("2001-11-13 05:31:01", "%Y-%m-%d %H:%M:%S", &tm2);
strftime(buf2, sizeof(buf2), "%d %b %Y %H:%M", &tm2);
puts(buf2);
time_t t1 = mktime(&tm1);
time_t t2 = mktime(&tm2);
diff = t2 - t1;
printf("La difference en secondes est: %u\n", diff);
return 0;
}
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
|
|
jeudi 30 décembre 2010 à 14:34:55 |
Re : differnce entre deux dates de type: DD/MM/YYYY hh:mm:ss:msms:µsµs

rimie_rimie
|
merci bien pour ta reponse, elle marche bien
maintenant je vais essayé d'effectué la difference en tenant compte des ms et des µs
merci de m'aider si je trouve probleme, je vais essayé de faire un programme pour cela
|
|
jeudi 30 décembre 2010 à 17:31:57 |
Re : differnce entre deux dates de type: DD/MM/YYYY hh:mm:ss:msms:µsµs

rimie_rimie
|
je veux bien extraine la partie milliseconde et µs ms ça marche pas une deuxieme fois avec ce code:
#include <iostream>
#include <stdlib.h>
#include <unistd.h>
int main()
{
char m [20], texte[] = "2001-11-13 18:31:01:25:50";
int ms,micros, i = 0;
for (i=20; texte[i]!=':'; ++i)
{
// printf("%c", texte[i]);
m[i]=texte[i];
//pour convertir m[10] en nombre entier }
ms= atoi(m);
printf("\n");
printf ("%d", ms);
for (i=23; texte[i]!='\0'; ++i)
{
printf("%c", texte[i]);
m[i]=texte[i];
}
micros= atoi(m);
//printf ("%d ms et %d µs", ms, micros);*/
}
merci de me dire ou est l'erreur
|
|
jeudi 30 décembre 2010 à 19:13:13 |
Re : differnce entre deux dates de type: DD/MM/YYYY hh:mm:ss:msms:µsµs

CptPingu
|
Tu ne peux pas faire un atoi sur un début de tableau non initialisé !
Au mieux, il y a un 0 devant, et il te renvoie 0, au pire tu as une donnée aléatoire.
Une solution facile à ce problème (peut être pas la meilleur):
Code C/C++ :
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
char m[21] = {0};
char texte[] = "2001-11-13 18:31:01:25:50";
int ms = 0;
int i = 0;
memset(m, '0', 20);
printf("%s\n", m);
for (i = 20; texte[i] != ':'; ++i)
m[i] = texte[i];
ms = atoi(m);
printf("%s %i\n", m, ms);
return 0;
}
PS: Attention, iostream c'est du C++, pas du C. Pense à prendre un compilateur C, et non C++. Tu risques d'avoir des surprises dans certains cas...
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
|
|
vendredi 31 décembre 2010 à 00:47:43 |
Re : differnce entre deux dates de type: DD/MM/YYYY hh:mm:ss:msms:µsµs

rimie_rimie
|
merci bien je vais essayé de l'integrer a mon grand code.
|
|
Cette discussion est classée dans : type, dates, mm, dd, yyyy
Répondre à ce message
Sujets en rapport avec ce message
DateTimePicker mettre la date au format yyyy-mm-dd [ par jer13mel ]
Bonjour, Voici mon problème, je code en C++, j'ai besoin de récupérer la date d'un DateTimePicker au format yyyy-mm-dd car mon champ est de type dat
Conversion string en date [ par jpeg ]
j'aimerai convertir (en C++ standard, sans MFC) une chaine de caractère de n'importe quel format (DD/MM/YYYY ou DD/MM/YYYY hh:mm ou YYYYMMDD ou ....)
liste chainée: type file d'attente [ par cunbreizh ]
MAIDER! MAIDER!Votre texte ICIVotre texte ICIdébutant dans la prog en C. Je cherche à programmer de la manière la plus simple et basic possible une st
Probleme avec la librairie <conio.h> et avec le type "float" en c++ [ par Rigel Io ]
Salut, j'aurai besoin de vos conseils éclairé en c++. Je suis débutant et j'apprends encore sur les tutorials possible de trouver sur Internet, je pro
Problème socket [ par bouba ]
Voila, j'ai un problème d'envoi de structure. (Sous UNIX)J'ai une structure comme cellle-ci.struct SPDU_TYPE{ char SI; int LI; struct PARAM_TYPE PARAM
Une fonction multi-type ? [ par TeLeTUbIz ]
Ouah !!!J'ai cherché, scruté dans tout les coins, soulevé les montagnes,... mais je ne trouve pas solution à mon problème.En fait, je voudrais faire u
type 128 bit [ par BornBanane ]
Bonjourvoila je fait un projet de cryptage et je travail donc sur des grand chiffres et il me faudrait un type fesant 128 bit ( se comportant comme de
SMTP [ par c2millet ]
Bonjours à tousVoilà mon pb je fais un prog qui génère des envois auto. de mails. En fait j'arrive à envoyer mes mails ya pas de pb, (c en fait une pa
Constructeur/destructeur [ par Ben0007 ]
Hello,En en-tête d'un fichier .cpp je trouve #include blablabla, puis:/******************************************* Constructeur et Destructeur********
erreur de conversion du meme type [ par kikipounque ]
je travaille avec les MFCj'ai declaré une variable privée "CBitmap m_Bitmap;"j'ai ensuite declaré un fonction :void Affecter_Bitmap(CBitmap bm, CSize
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|