Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : date [ Archives / Divers ] (mamag)

vendredi 9 septembre 2005 à 15:02:57 | date

mamag

Bonjour,

je voudrais récupérer (en C++) la date d'aujourd'hui sous le format suivant: 09/09/05, quelle fonction je dois utiliser?

Merci pour votre réponse.

vendredi 9 septembre 2005 à 15:12:39 | Re : date

BruNews

Administrateur CodeS-SourceS
sous Windows:
GetDateFormat()

ciao...
BruNews, MVP VC++

vendredi 9 septembre 2005 à 21:30:26 | Re : date

obby

tu peut aussi utiliser la clase COleTime ou un truc comme ca. je me rappel plus exactement le nom précis de la classe.




samedi 10 septembre 2005 à 11:52:55 | Re : date

julienbj

Une petite méthode de prog pour résoudre le problème.


typedef enum e_format
{
    JJMOISYYYY,       
    JJMMYYYY,       
    MMYYYY,
    MOISYYYY
} e_dateFormat;

BOOL isBisextile(LONG year)
{
    if (((year % 4) == 0) && (((year % 100) != 0) || ((year % 400) == 0)))
        return TRUE;
    return FALSE;
}

int getNumberDay_Month(int month, int year)
{
    const int nbDayMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int ndays;
   
    ndays = nbDayMonth[month - 1];        
    if (isBisextile(year) && (month == 2))
        ndays++;
    return(ndays);
}

char *SYSTEMTIMEFormat(SYSTEMTIME time, e_dateFormat dateFormat, char *separator)
{
    char buffer[256];
    const char *month[] = {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre"};

    switch (dateFormat)
    {
    case JJMOISYYYY:
        wsprintf(buffer, "%i%s%s%s%i", time.wDay, separator, month[time.wMonth - 1], separator, time.wYear);
        break;
    case JJMMYYYY:
        wsprintf(buffer, "%i%s%02i%s%i", time.wDay, separator, time.wMonth, separator, time.wYear);
        break;
    case MMYYYY:
        wsprintf(buffer, "%02i%s%i", time.wMonth, separator, time.wYear);
        break;
    case MOISYYYY:
        wsprintf(buffer, "%s%s%i", month[time.wMonth - 1], separator, time.wYear);
        break;
    default:
        return NULL;
    }
    return strdup(buffer);
}


char *getToday(e_dateFormat dateFormat, char *separator)
{
    SYSTEMTIME time;

    GetLocalTime(&time);
    return SYSTEMTIMEFormat(time, dateFormat, separator);
}


Voila une méthode pour faire ce que tu demandes.
L'appel à faire est; today = getToday(JJMMYYYY, "/");
avec today déclaré comme un char*.

Mais je pense que la méthode de brunews est bien mieux. Merci à lui d'ailleurs, je ne connaissais pas cette fonction, c'est pourquoi j'avais développé ce jeu de fonctions.

Il faudrait voir également voir à ne pas retourné une chaine de caractere, mais à passer un pointeur sur cette chaine dans la fonction.
Ainsi le programmeur saura qu'il doit la libérer. Alors que comme ca, il peut facilement oublier.

Il faudrait egalement voir une gestion du séparateur plus performante. Le programme risque en effet de planter si je ne donne pas de separateur à la chaine. Peut etre un séparateur par défaut si je n'en donne pas.

Mais la fonction GetDateFormat fait la meme chose, alors maintenant, je ne sais plus trop quoi choisir!!!
Peut etre refaire mes fonctions avec GetDateFormat, mais alors ou est l'intéret d'avoir ces fonctions????

Vive le C
Tchao
Savon



Cette discussion est classé dans : date


Répondre à ce message

Sujets en rapport avec ce message

Changer la date de dernière modification d'un fichier [ par GoldenEye ] Bonjour et bonne année à tous. Je m'étais fait rare ces derniers temps...Existe t'il une API pour changer la date de dernière modification d'un fichie découpage d'un fichier pour stocker des données dans un tableau [ par tux46 ] OUPS OUPS OUPS je crois que j'ai crié victoire un peu top vite car avec ce que j'ai fait pour l'adresse ip ça marche top la date aussi mais pour l'heu besoin d'aide pour un programme, urgent [ par julie ] langage français !! ou pascaljai un programme a réaliser. en fait un utilisateur entre son nom, prenom, age, profession, date de naissance, date du jo urgent...pb de cast [ par marcadet ] Bonjour j'ai le pb de cast suivant :>> char date[3]; // date a la date d'aujourd'hui>> int dat;>> dat=(int)date;>> printf("%d", dat) // -> ici Récupération de la date et heure de cration d'un fichier [ par MELISA ] Bonjour à tousJ'essaie de récupérer la date et heure de création d'un fichier.Existe-t-il déjà une API à intégrer?Merci beaucoup pour votre aide.MELIS création de fichier [ par freeze ] Salut à tous,je voudrais créer un fichier qui reprendrai la date du jourPar exemple 0110022.zip pour un fichier zip du 01/10/2002En fait je voudrais é Opération sur les dates [ par daddy33 ] Comment fait-on pour faire des opérations sur des dates : exple : date de livraison - date commande ce genre de truc, quelle bibliotheque il faut incl reservation des chambres d'hotel [ par xman ] bonjour tout le monde:problematique:j'ai 2 tables: reservation et chambre formulaire: le client doit rentrer 2 date, date debut ,et date finet il faut conversion de date [ par CHENRY ] En VC++ 6.0 avec les MFC.Pour convertir une date en chaine, j'ai bien trouvé la propriété MaChaine = MaDate.Format(0, LANG_USER_DEFAULT)mais pour conv surchage d'operateur [ par bolo ] j'ai prob avec la surchage d'operateur de ma classepouvez vous m'aider#include // les classes#include class date{public : date (); da


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.