IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

strftime en français


Sujet :

C

  1. #1
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 185
    Par défaut strftime en français
    Bonsoir,

    La fonction strftime permet-elle l’affichage en français ? Je suppose que oui, mais pas chez moi. Peut-être un problème de locale, pourtant je suis en fr_FR.UTF8.

    Question subsidiaire, ou le système va chercher les infos des locales (sous Linux) ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  2. #2
    Membre très actif
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 548
    Par défaut
    Bonjour,

    La fonction strftime ne sert pas à afficher la date ou le time local ça tâche est de remplir un buffer fourni en premier argument suivi de la taille de ce buffer en second argument. Libre à vous après d'utiliser une fonction d'affichage formaté pour afficher le résultat au bon format souhaité.

    Ceci dit, il est fort à parier que les paramètres régionaux non pas forcément été pris en compte automatiquement. Essayé ceci setlocale(LC_ALL, "fr_FR"); cela va vous permettre de définir les paramètres régionaux que l'application devra utiliser. Attention tout de même aux formats utilisés par strftime qui peut cause des bugs embêtants (je parle de %p).

    Si toutefois cela ne marche pas; pourriez-vous nous fournir le bout de code qui pose problème ?

    À bientôt.

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 185
    Par défaut
    Bonjour,

    voici mon retour :
    Ca fonctionne en ajoutant dans mon code :
    Quelque chose m'échappe quand-même.

    L'appel à la commande locale me donne toutes les valeurs positionnées sur fr_FR.UTF-8, sauf LANGUAGE et LC_ALL qui sont vides.

    Je ne sais pas ce que fait exactement setlocale dans ce cas, peut-être chargement de variables d'environnements qui sont ensuite utilisés par strftime. L'appel à la commande set ne montre que LANG (aucune variable LC_ ). La doc de strftime indique l'utilisation des variables d'environnement TZ et LC_TIME, que je n'ai pas dans mon shell, d’où mon hypothèse que setlocale les positionne mais que je ne les vois pas car elles ne sont pas exportées.

    J'ai essayé d'ajouter le code suivant juste après l'appel à setlocale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    extern **environ;
    int i;
    for (i=0;environ[i]!=NULL;i++) printf("%s\n",environ[i]);
    pas de trace des variables TZ et LC_TIME, donc mon hypothèse doit pas être bonne.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 814
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par chrtophe Voir le message
    La doc de strftime indique l'utilisation des variables d'environnement TZ et LC_TIME, que je n'ai pas dans mon shell, d’où mon hypothèse que setlocale les positionne mais que je ne les vois pas car elles ne sont pas exportées.
    Attention, un export ne fonctionne que dans le sens descendant. Si un process exporte une variable, elle ne sera visible que dans les fils dudit process, pas dans son père. Autrement dit, exportée ou pas, tu ne pourras pas voir dans ton shell une variable positionnée par ton programme. Il n'y a d'ailleurs absolument aucun moyen de faire remonter une variable d'un fils vers son père.

    Citation Envoyé par chrtophe Voir le message
    J'ai essayé d'ajouter le code suivant juste après l'appel à setlocale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    extern **environ;
    int i;
    for (i=0;environ[i]!=NULL;i++) printf("%s\n",environ[i]);
    Tiens ? Je ne connaissais pas "environ". Moi quand je veux récupérer mon environnement je passe par le 3° paramètre de main char **envp. Accessoirement je viens de tester ton code et il donne le même résultat. qu'avec le 3° paramètre de main().
    Euh sinon moi non plus je en vois pas pourquoi ça marche quand tu ajoutes setlocale(LC_ALL, ""). Je n'ai d'ailleurs jamais rien pipé à la façon dont "locale" fonctionne (ceci dit je n'en ai jamais eu besoin).
    PS: il manque le type "char"
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre très actif
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 548
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Quelque chose m'échappe quand-même.
    L'appel à la commande locale me donne toutes les valeurs positionnées sur fr_FR.UTF-8, sauf LANGUAGE et LC_ALL qui sont vides.

    Si LANGUAGE est vide, c'est tout simplement parce qu'il n'a pas été définis et pour deux raisons: La première étant que c'est l'utilisateur qui doit définir ces paramètres régionaux de traduction (d'internalisation) car LANGUAGE est a utilisé pour la définition (si je peux dire des préférences linguistiques donc internalisation) en d'autres termes pour les langues d'application etc.. (LC MESSAGES). Exemple: si vous définissez LANGUAGE = Fr: RU:MG (à titre d'exemple) cela veut dire vous préfèrent lire les traductions de préférence en Français si possible, cas contraire; va pour le Russe; si pas Russe, bon ben Mongole. Si aucun des trois par défaut l’anglais qui sera utilisé. Et pour définir le paramètre en question, il suffit de la rendre persistante, on manipulant le fichier de configuration bash de tous les utilisateurs; en clair, édité le fichier profil ce qui aura pour effet de définir/spécifier les paramètres régionaux souhaités.

    La deuxième raison (qui de nature est en réalité la première utilisée par le système) est que votre système d'exploitation a mis le champ vide, parce qu'il utilise déjà d'autres types de paramètres linguistiques régionaux par défaut (LANG ou LC_ALL) qui a déjà été préalablement défini (exemple quand vous avez installé le choix des langages lors de l'installation du système d'exploitation) un aperçu rapide avec la commande locale permet de s'en rendre compte; d'ailleurs à ce sujet: la variable LANGAGE est sur la plupart des systèmes d'exploitation GNU/Linux ignorée (Ignoré; parce que cela dépend également du système d'exploitation ou de la famille du système; Donc, pour certains de ces systèmes, il y a aucune valeur cas contraire présente tel est mon cas ).

    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
                                                                   
    LANG=fr_FR.UTF-8                                                                                                           
    LANGUAGE=fr_FR                                                                                                             
    LC_CTYPE="fr_FR.UTF-8"                                                                                                     
    LC_NUMERIC="fr_FR.UTF-8"                                                                                                   
    LC_TIME="fr_FR.UTF-8"                                                                                                      
    LC_COLLATE="fr_FR.UTF-8"                                                                                                   
    LC_MONETARY="fr_FR.UTF-8"                                                                                                  
    LC_MESSAGES="fr_FR.UTF-8"                                                                                                  
    LC_PAPER="fr_FR.UTF-8"                                                                                                     
    LC_NAME="fr_FR.UTF-8"                                                                                                      
    LC_ADDRESS="fr_FR.UTF-8"                                                                                                   
    LC_TELEPHONE="fr_FR.UTF-8"                                                                                                 
    LC_MEASUREMENT="fr_FR.UTF-8"                                                                                               
    LC_IDENTIFICATION="fr_FR.UTF-8"                                                                                            
    LC_ALL=    


    Cependant, si vous souhaitez définir ce champ, vous devez d'abord activer la localisation, en définissant LANG (ou LC_ALL) sur une valeur autre, avant de pouvoir utiliser une liste de priorités de langue comme dans mon exemple précédent cas contraire cette variable DOIT ÊTRE VIDE.

    Citation Envoyé par chrtophe Voir le message
    Je ne sais pas ce que fait exactement setlocale dans ce cas, peut-être chargement de variables d'environnements qui sont ensuite utilisés par strftime.
    setlocale ne se comporte pas bizarrement; en informatique un programme fait toujours ce qui est écrit. Dans le cas présent, setlocale renvoie nul si le pack de langage ou le langage en question n'est pas pris en compte (si la liste que locale a imprimé sur votre terminal ne contient pas le paramètre linguistique souhaité) cas contraire les paramètres de langage par défaut est pris en compte voici un exemple en langage C et ci-dessous le résultat. (Amusez-vous par exemple à afficher du Mongole vous verrez que cela vous renverra NULL cas contraire les paramètre d'internalisation seront prises en compte et normalement vous devez voir le message en mongolien).

    Code source:
    Code c : 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
    66
    67
    68
    69
     
     
    #include <time.h>
    #include <errno.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <string.h>
     
     
     
     
    int main( void ){
     
        time_t dt_time;
        char dt_buffer[BUFSIZ];
        struct tm *st_tm = NULL;
        char *ret_lang_sys = NULL;
     
        /*
         * Amusez-vous a changer setlocal 
         * avec une autre valeur exemple en_HK.utf8.
         *
        if( NULL == ( ret_lang_sys = setlocale(LC_ALL,"fr_FR.utf8")) )
            (void)puts("Echec setlocal");
        */
     
        /*
         * Test 1
        if( NULL == ( ret_lang_sys = setlocale(LC_ALL,"fr_FR.utf8")) )
            (void)puts("Echec setlocal");
        */
     
        /*
         * Par défaut résultat = fr_FR.utf8
         */
        if( NULL == ( ret_lang_sys = setlocale(LC_ALL,"")) )
            (void)puts("Echec setlocal");
        (void)fprintf(stderr, "Préférence langage\t:%s\n",
            ret_lang_sys);
     
        /*
         * Acquisition time
         */
        (void)time(&dt_time);    
     
        /*
         * Acquisition local time
         */
        if(NULL == (st_tm = localtime(&dt_time)) ){
             (void)fprintf(stderr, "Erreur(%d)\t:%s\n",
                errno, strerror(errno) );
            return EXIT_SUCCESS;
        }
     
        if( 0x0 == strftime(dt_buffer, BUFSIZ, 
            """%A %d %B %Y, %H:%M:%S %Z", st_tm) ){
            (void)fprintf(stderr, "Erreur(%d)\t:%s", 
                errno, strerror(errno) );
            abort(); //
        }
     
        (void)fprintf(stderr, "strftime\t\t:%s\n", 
            dt_buffer);
     
     
     
        return EXIT_SUCCESS;
    }

    Citation Envoyé par chrtophe Voir le message
    L'appel à la commande set ne montre que LANG (aucune variable LC_ ). La doc de strftime indique l'utilisation des variables d'environnement TZ et LC_TIME, que je n'ai pas dans mon shell, d’où mon hypothèse que setlocale les positionne mais que je ne les vois pas car elles ne sont pas exportées.
    Votre hypothèse n'est absolument pas bonne la commande TZ ou la variable TZ permet la définition d'une Time Zone en clairs fuseaux horaires et si la variable n'apparaît pas là aussi ; c'est parce que le système connaît le fuseau horaire en fonction des paramètres régionaux de langue (sans rentrée dans les détail). Exemple après compilation du code source ci-dessus vous avez du remarquez que ce dernier affichait samedi 22 février 2020, 23:50:47 CET et le CET veut dire que je suis sous un fuseau horaire Central Eropean Times (soit l'heure normale d'Europe centrale abrégée HNEC) . En choisissant volontairement que je sois sur un autre fuseau horaire exemple arctique, j'afficherai cette information de la façon suivante : TZ=":Actic/Longyearbyern" ./Deb. Le resutat : samedi 22 février 2020, 22:50:47 Actic; mon programme, affiche donc la date et l'heure en fonction du fuseau horaire de l'arctique tout en prennent en compte mes paramètres d'internalisation; l'affichage sera donc en français avec une Time zone arctique. Autre exemple avec un Time zone Zoulou là, je serai en UTC donc techniquement sur le même fuseau horaire que ville de Londres pour soit samedi 22 février 2020, 22:50:47 UTC ( heure zoulou). Bref il y a là aussi rien de spectaculaire ou d'inquiétant si TZ n'est pas présent.

    À bientôt.



  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 185
    Par défaut
    Attention, un export ne fonctionne que dans le sens descendant.
    oui c'est vrai.
    Dans mon code j'ai ajouté un getenv sur les variables TZ et LC_TIME, elles sont à NULL avant et après appel de setlocale.

    La doc de strftime indique que les variables TZ et LC_TIME sont utilisées, mais du coup, que si elles sont positionnées je suppose.

    Tiens ? Je ne connaissais pas "environ".
    ça revient au même que char **envp, mais probablement moins standard

    setlocale ne se comporte pas bizarrement; en informatique un programme fait toujours ce qui est écrit. Dans le cas présent, setlocale renvoie nul si le pack de langage ou le langage en question n'est pas pris en compte (si la liste que locale a imprimé sur votre terminal ne contient pas le paramètre linguistique souhaité)
    La fonction setlocale() est utilisée pour indiquer ou demander la localisation courante du programme.
    C'est ce qui justifie que mon code fonctionne via l'ajout de l'appel à setlocale.

    A C program inherits its locale environment variables when it starts up. This happens automatically. However, these variables do not automatically control the locale used by the library functions, because ISO C says that all programs start by default in the standard ‘C’ locale. To use the locales specified by the environment, you must call setlocale. Call it as follows:
    setlocale (LC_ALL, "");
    Voilà l'explication. Mais du coup je ne sais pas ou est stockée l'info standard c locale en début de code et comment le programe sait qu'il doit utiliser les locales.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Membre très actif
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 548
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Voilà l'explication. Mais du coup je ne sais pas ou est stockée l'info standard c locale en début de code et comment le programe sait qu'il doit utiliser les locales.
    Il n'y a absolument pas de stockage dans le binaire ou executable, je m'explique avec plus de précision.


    Techniquement et réellement l'ensemble des informations sur les fuseaux horaires sont à la fois volumineuses et volatiles (voir ci-dessous les répertoire et sous répertoire) ; et donc, plutôt que de les encoder directement dans des programmes ou des bibliothèques, le système d'exploitation va conserver ces diverses informations dans des fichiers au format standard sur le disque dur (n'oubliez pas Linux tout est pratiquement fichier) et ces fichiers se trouvent dans le répertoire : /user/share/zoneinfo. Chaque fichier de ce répertoire contient des informations sur le fuseau horaire dans un pays ou une région spécifique et c'est également valable pour les fichiers qui sont nommés en fonction du fuseau horaire, ainsi vous trouverez des fichiers portant des noms tels que le fameux, CET (Central Eropean Times), EST (US Eastern Standar Time) UTC, WET, Atlantic, CST6CDT Etc, Navajo, SystemV, Turquie et IRAN etc. (voir résultat de la commande ci-dessous) .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ls /usr/share/zoneinfo/                                                      
    Africa      Brazil   Egypt    GB         Hongkong     Jamaica            Mexico   Poland      ROC        US                
    America     Canada   Eire     GB-Eire    HST          Japan              MST      Portugal    ROK        UTC               
    Antarctica  CET      EST      GMT        Iceland      Kwajalein          MST7MDT  posix       Singapore  WET               
    Arctic      Chile    EST5EDT  GMT0       Indian       leap-seconds.list  Navajo   posixrules  SystemV    W-SU              
    Asia        CST6CDT  Etc      GMT-0      Iran         Libya              NZ       PRC         Turkey     zone1970.tab      
    Atlantic    Cuba     Europe   GMT+0      iso3166.tab  localtime          NZ-CHAT  PST8PDT     UCT        zone.tab          
    Australia   EET      Factory  Greenwich  Israel       MET                Pacific  right       Universal  Zulu 


    Il y a également des sous-répertoires qui peuvent être utilisés pour regrouper de manière hiérarchique les fuseaux horaires correspondants exemple dans Antarctica ou chile ou autre comme Pacific, on peut trouver a titre d'exemple les fichiers tels que Auckland, PORT_MORESBY et Galápagos. Finalement lorsque vous spécifiez un fuseau horaire à utiliser par votre programme, vous ne faites en réalité spécifier un nom de chemin relatif pour l'un des fichiers de fuseau horaire de ce répertoire. C'est également pareille pour locale.
    L'heure locale pour le système d'exploitation est définie par le fichier de fuseau horaire situé ici : /etc/localtime qui est forcément lié à l'un des fichiers: /usr/share/zoneinfo. Et donc tout n'est que chemin relatif. Vous pouvez voir les différents chemins relatifs comme des pointeurs vers le fuseau horaire de la région et du pays; ce n'est donc pas si anodin que l'on vous demande de préciser la langue et le choix du fuseau horaire lors de l'installation.

    Liste des sous-répertoires /usr/share/zoneinfo et leurs fichiers
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    ls -R -F /usr/share/zoneinfo/                                                
    /usr/share/zoneinfo/:                                                                                                      
    Africa/      Brazil/  Egypt    GB          Hongkong     Jamaica            Mexico/   Poland      ROC         US/           
    America/     Canada/  Eire     GB-Eire@    HST          Japan              MST       Portugal    ROK         UTC@          
    Antarctica/  CET      EST      GMT         Iceland      Kwajalein          MST7MDT   posix/      Singapore   WET           
    Arctic/      Chile/   EST5EDT  GMT0@       Indian/      leap-seconds.list  Navajo    posixrules  SystemV/    W-SU          
    Asia/        CST6CDT  Etc/     GMT-0@      Iran         Libya              NZ        PRC         Turkey      zone1970.tab  
    Atlantic/    Cuba     Europe/  GMT+0@      iso3166.tab  localtime@         NZ-CHAT   PST8PDT     UCT         zone.tab      
    Australia/   EET      Factory  Greenwich@  Israel       MET                Pacific/  right/      Universal@  Zulu@         
                                                                                                                               
    /usr/share/zoneinfo/Africa:                                                                                                
    Abidjan      Bamako@       Bujumbura@  Dar_es_Salaam@  Harare@       Kinshasa@    Lusaka@     Monrovia      Porto-Novo@    
    Accra        Bangui        Cairo@      Djibouti@       Johannesburg  Lagos@       Malabo@     Nairobi@      Sao_Tome       
    Addis_Ababa  Banjul@       Casablanca  Douala@         Juba          Libreville@  Maputo@     Ndjamena      Timbuktu@      
    Algiers      Bissau        Ceuta       El_Aaiun        Kampala@      Lome@        Maseru@     Niamey@       Tripoli@       
    Asmara@      Blantyre      Conakry@    Freetown@       Khartoum      Luanda@      Mbabane@    Nouakchott@   Tunis          
    Asmera@      Brazzaville@  Dakar@      Gaborone@       Kigali@       Lubumbashi@  Mogadishu@  Ouagadougou@  Windhoek       
                                                                                                                               
    /usr/share/zoneinfo/America:                                                                                               
    Adak            Boise           Dawson        Guatemala      Los_Angeles     Montevideo      Puerto_Rico     St_Johns      
    Anchorage       Buenos_Aires    Dawson_Creek  Guayaquil      Louisville      Montreal        Punta_Arenas    St_Kitts@     
    Anguilla        Cambridge_Bay   Denver@       Guyana         Lower_Princes@  Montserrat@     Rainy_River     St_Lucia@     
    Antigua@        Campo_Grande    Detroit       Halifax        Maceio          Nassau          Rankin_Inlet    St_Thomas@    
    Araguaina       Cancun          Dominica@     Havana@        Managua         New_York@       Recife          St_Vincent@   
    Argentina/      Caracas         Edmonton      Hermosillo     Manaus          Nipigon         Regina          Swift_Current 
    Aruba           Catamarca       Eirunepe      Indiana/       Marigot@        Nome            Resolute        Tegucigalpa   
    Asuncion        Cayenne         El_Salvador   Indianapolis@  Martinique      Noronha         Rio_Branco@     Thule         
    Atikokan        Cayman          Ensenada      Inuvik         Matamoros       North_Dakota/   Rosario@        Thunder_Bay   
    Atka@           Chicago         Fortaleza     Iqaluit        Mazatlan        Ojinaga         Santa_Isabel@   Tijuana@      
    Bahia           Chihuahua       Fort_Nelson   Jamaica@       Mendoza         Panama@         Santarem        Toronto@      
    Bahia_Banderas  Coral_Harbour@  Fort_Wayne    Jujuy          Menominee       Pangnirtung     Santiago        Tortola@      
    Barbados        Cordoba         Glace_Bay     Juneau         Merida          Paramaribo      Santo_Domingo   Vancouver     
    Belem           Costa_Rica      Godthab       Kentucky/      Metlakatla      Phoenix         Sao_Paulo       Virgin@       
    Belize          Creston         Goose_Bay     Knox_IN        Mexico_City     Port-au-Prince  Scoresbysund    Whitehorse    
    Blanc-Sablon    Cuiaba          Grand_Turk    Kralendijk@    Miquelon        Porto_Acre      Shiprock@       Winnipeg      
    Boa_Vista       Curacao@        Grenada@      La_Paz         Moncton         Port_of_Spain@  Sitka           Yakutat       
    Bogota          Danmarkshavn    Guadeloupe@   Lima           Monterrey       Porto_Velho     St_Barthelemy@  Yellowknife   
                                                                                                                               
    /usr/share/zoneinfo/America/Argentina:                                                                                     
    Buenos_Aires@  ComodRivadavia@  Jujuy@    Mendoza@      Salta     San_Luis  Ushuaia                                        
    Catamarca@     Cordoba@         La_Rioja  Rio_Gallegos  San_Juan  Tucuman                                                  
                                                                                                                               
    /usr/share/zoneinfo/America/Indiana:                                                                                       
    Indianapolis@  Knox@  Marengo  Petersburg  Tell_City  Vevay  Vincennes  Winamac                                            
                                                                                                                               
    /usr/share/zoneinfo/America/Kentucky:                                                                                      
    Louisville@  Monticello                                                                                                    
                                                                                                                               
    /usr/share/zoneinfo/America/North_Dakota:                                                                                  
    Beulah  Center  New_Salem                                                                                                  
                                                                                                                               
    /usr/share/zoneinfo/Antarctica:                                                                                            
    Casey  Davis  DumontDUrville  Macquarie  Mawson  McMurdo@  Palmer  Rothera  South_Pole@  Syowa  Troll  Vostok              
                                                                                                                               
    /usr/share/zoneinfo/Arctic:                                                                                                
    Longyearbyen                                                                                                               
                                                                                                                               
    /usr/share/zoneinfo/Asia:                                                                                                  
    Aden        Baku        Colombo    Ho_Chi_Minh  Kashgar       Magadan       Pyongyang  Singapore@     Ujung_Pandang@       
    Almaty      Bangkok     Dacca      Hong_Kong@   Kathmandu     Makassar      Qatar@     Srednekolymsk  Ulaanbaatar          
    Amman       Barnaul     Damascus   Hovd         Katmandu@     Manila        Qostanay   Taipei@        Ulan_Bator@          
    Anadyr      Beirut      Dhaka@     Irkutsk      Khandyga      Muscat@       Qyzylorda  Tashkent       Urumqi@              
    Aqtau       Bishkek     Dili       Istanbul@    Kolkata@      Nicosia       Rangoon    Tbilisi        Ust-Nera             
    Aqtobe      Brunei      Dubai      Jakarta      Krasnoyarsk   Novokuznetsk  Riyadh@    Tehran@        Vientiane@           
    Ashgabat    Calcutta    Dushanbe   Jayapura     Kuala_Lumpur  Novosibirsk   Saigon@    Tel_Aviv@      Vladivostok          
    Ashkhabad@  Chita       Famagusta  Jerusalem@   Kuching       Omsk          Sakhalin   Thimbu         Yakutsk              
    Atyrau      Choibalsan  Gaza       Kabul        Kuwait@       Oral          Samarkand  Thimphu@       Yangon@              
    Baghdad     Chongqing@  Harbin@    Kamchatka    Macao         Phnom_Penh@   Seoul@     Tokyo@         Yekaterinburg        
    Bahrain     Chungking@  Hebron     Karachi      Macau@        Pontianak     Shanghai@  Tomsk          Yerevan              
                                                                                                                               
    /usr/share/zoneinfo/Atlantic:                                                                                              
    Azores  Bermuda  Canary  Cape_Verde  Faeroe  Faroe@  Jan_Mayen@  Madeira  Reykjavik@  South_Georgia  Stanley  St_Helena@   
                                                                                                                               
    /usr/share/zoneinfo/Australia:                                                                                             
    ACT       Broken_Hill  Darwin  LHI         Melbourne  Perth        Sydney@    West@                                        
    Adelaide  Canberra@    Eucla   Lindeman    North@     Queensland@  Tasmania@  Yancowinna@                                  
    Brisbane  Currie       Hobart  Lord_Howe@  NSW@       South@       Victoria@                                               
                                                                                                                               
    /usr/share/zoneinfo/Brazil:                                                                                                
    Acre@  DeNoronha@  East@  West@                                                                                            
                                                                                                                               
    /usr/share/zoneinfo/Canada:                                                                                                
    Atlantic@  Central@  Eastern@  Mountain@  Newfoundland@  Pacific@  Saskatchewan@  Yukon@                                   
                                                                                                                               
    /usr/share/zoneinfo/Chile:                                                                                                 
    Continental@  EasterIsland                                                                                                 
                                                                                                                               
    /usr/share/zoneinfo/Etc:                                                                                                   
    GMT@    GMT+0@  GMT-10  GMT+11  GMT-13  GMT+2  GMT-4  GMT+5  GMT-7  GMT+8  Greenwich@  UTC@                                
    GMT0@   GMT-1   GMT+10  GMT-12  GMT-14  GMT-3  GMT+4  GMT-6  GMT+7  GMT-9  UCT@        Zulu@                               
    GMT-0@  GMT+1   GMT-11  GMT+12  GMT-2   GMT+3  GMT-5  GMT+6  GMT-8  GMT+9  Universal@                                      
                                                                                                                               
    /usr/share/zoneinfo/Europe:                                                                                                
    Amsterdam  Bratislava  Dublin@       Kaliningrad  Madrid      Oslo@       San_Marino@  Tallinn    Vienna                   
    Andorra    Brussels    Gibraltar     Kiev         Malta       Paris       Sarajevo@    Tirane     Vilnius                  
    Astrakhan  Bucharest   Guernsey@     Kirov        Mariehamn@  Podgorica@  Saratov      Tiraspol@  Volgograd                
    Athens     Budapest    Helsinki      Lisbon@      Minsk       Prague@     Simferopol   Ulyanovsk  Warsaw@                  
    Belfast@   Busingen    Isle_of_Man@  Ljubljana@   Monaco      Riga        Skopje@      Uzhgorod   Zagreb@                  
    Belgrade   Chisinau    Istanbul@     London@      Moscow@     Rome        Sofia        Vaduz@     Zaporozhye               
    Berlin     Copenhagen  Jersey@       Luxembourg   Nicosia@    Samara      Stockholm    Vatican@   Zurich@                  
                                                                                                                               
    /usr/share/zoneinfo/Indian:                                                                                                
    Antananarivo@  Chagos  Christmas  Cocos  Comoro@  Kerguelen  Mahe  Maldives  Mauritius  Mayotte@  Reunion                  
                                                                                                                               
    /usr/share/zoneinfo/Mexico:                                                                                                
    BajaNorte@  BajaSur@  General@                                                                                             
                                                                                                                               
    /usr/share/zoneinfo/Pacific:                                                                                               
    Apia          Easter@    Funafuti     Honolulu    Majuro     Norfolk     Pohnpei       Samoa@     Wake                     
    Auckland@     Efate      Galapagos    Johnston@   Marquesas  Noumea      Ponape@       Tahiti     Wallis                   
    Bougainville  Enderbury  Gambier      Kiritimati  Midway     Pago_Pago@  Port_Moresby  Tarawa     Yap@                     
    Chatham@      Fakaofo    Guadalcanal  Kosrae      Nauru      Palau       Rarotonga     Tongatapu                           
    Chuuk         Fiji       Guam         Kwajalein@  Niue       Pitcairn    Saipan@       Truk@                               
                                                                                                                               
    /usr/share/zoneinfo/posix:                                                                                                 
    Africa/      Australia/  Cuba@     Etc/      GMT0@       Iceland@  Kwajalein@  Navajo@    PRC@        Turkey@     W-SU@    
    America/     Brazil/     EET@      Europe/   GMT-0@      Indian/   Libya@      NZ@        PST8PDT@    UCT@        Zulu@    
    Antarctica/  Canada/     Egypt@    Factory@  GMT+0@      Iran@     MET@        NZ-CHAT@   ROC@        Universal@           
    Arctic/      CET@        Eire@     GB@       Greenwich@  Israel@   Mexico/     Pacific/   ROK@        US/                  
    Asia/        Chile/      EST@      GB-Eire@  Hongkong@   Jamaica@  MST@        Poland@    Singapore@  UTC@                 
    Atlantic/    CST6CDT@    EST5EDT@  GMT@      HST@        Japan@    MST7MDT@    Portugal@  SystemV/    WET@                 
                                                                                                                               
    /usr/share/zoneinfo/posix/Africa:                                                                                          
    Abidjan@      Bamako@       Bujumbura@   Dar_es_Salaam@  Harare@        Kinshasa@    Lusaka@     Monrovia@     Porto-Novo@ 
    Accra@        Bangui@       Cairo@       Djibouti@       Johannesburg@  Lagos@       Malabo@     Nairobi@      Sao_Tome@   
    Addis_Ababa@  Banjul@       Casablanca@  Douala@         Juba@          Libreville@  Maputo@     Ndjamena@     Timbuktu@   
    Algiers@      Bissau@       Ceuta@       El_Aaiun@       Kampala@       Lome@        Maseru@     Niamey@       Tripoli@    
    Asmara@       Blantyre@     Conakry@     Freetown@       Khartoum@      Luanda@      Mbabane@    Nouakchott@   Tunis@      
    Asmera@       Brazzaville@  Dakar@       Gaborone@       Kigali@        Lubumbashi@  Mogadishu@  Ouagadougou@  Windhoek@   
                                                                                                                               
    /usr/share/zoneinfo/posix/America:                                                                                         
    Adak@            Campo_Grande@   Eirunepe@      Iqaluit@        Merida@          Porto_Acre@     St_Johns@                 
    Anchorage@       Cancun@         El_Salvador@   Jamaica@        Metlakatla@      Port_of_Spain@  St_Kitts@                 
    Anguilla@        Caracas@        Ensenada@      Jujuy@          Mexico_City@     Porto_Velho@    St_Lucia@                 
    Antigua@         Catamarca@      Fortaleza@     Juneau@         Miquelon@        Puerto_Rico@    St_Thomas@                
    Araguaina@       Cayenne@        Fort_Nelson@   Kentucky/       Moncton@         Punta_Arenas@   St_Vincent@               
    Argentina/       Cayman@         Fort_Wayne@    Knox_IN@        Monterrey@       Rainy_River@    Swift_Current@            
    Aruba@           Chicago@        Glace_Bay@     Kralendijk@     Montevideo@      Rankin_Inlet@   Tegucigalpa@              
    Asuncion@        Chihuahua@      Godthab@       La_Paz@         Montreal@        Recife@         Thule@                    
    Atikokan@        Coral_Harbour@  Goose_Bay@     Lima@           Montserrat@      Regina@         Thunder_Bay@              
    Atka@            Cordoba@        Grand_Turk@    Los_Angeles@    Nassau@          Resolute@       Tijuana@                  
    Bahia@           Costa_Rica@     Grenada@       Louisville@     New_York@        Rio_Branco@     Toronto@                  
    Bahia_Banderas@  Creston@        Guadeloupe@    Lower_Princes@  Nipigon@         Rosario@        Tortola@                  
    Barbados@        Cuiaba@         Guatemala@     Maceio@         Nome@            Santa_Isabel@   Vancouver@                
    Belem@           Curacao@        Guayaquil@     Managua@        Noronha@         Santarem@       Virgin@                   
    Belize@          Danmarkshavn@   Guyana@        Manaus@         North_Dakota/    Santiago@       Whitehorse@               
    Blanc-Sablon@    Dawson@         Halifax@       Marigot@        Ojinaga@         Santo_Domingo@  Winnipeg@                 
    Boa_Vista@       Dawson_Creek@   Havana@        Martinique@     Panama@          Sao_Paulo@      Yakutat@                  
    Bogota@          Denver@         Hermosillo@    Matamoros@      Pangnirtung@     Scoresbysund@   Yellowknife@              
    Boise@           Detroit@        Indiana/       Mazatlan@       Paramaribo@      Shiprock@                                 
    Buenos_Aires@    Dominica@       Indianapolis@  Mendoza@        Phoenix@         Sitka@                                    
    Cambridge_Bay@   Edmonton@       Inuvik@        Menominee@      Port-au-Prince@  St_Barthelemy@                            
                                                                                                                               
    /usr/share/zoneinfo/posix/America/Argentina:                                                                               
    Buenos_Aires@  ComodRivadavia@  Jujuy@     Mendoza@       Salta@     San_Luis@  Ushuaia@                                   
    Catamarca@     Cordoba@         La_Rioja@  Rio_Gallegos@  San_Juan@  Tucuman@                                              
                                                                                                                               
    /usr/share/zoneinfo/posix/America/Indiana:                                                                                 
    Indianapolis@  Knox@  Marengo@  Petersburg@  Tell_City@  Vevay@  Vincennes@  Winamac@                                      
                                                                                                                               
    /usr/share/zoneinfo/posix/America/Kentucky:                                                                                
    Louisville@  Monticello@                                                                                                   
                                                                                                                               
    /usr/share/zoneinfo/posix/America/North_Dakota:                                                                            
    Beulah@  Center@  New_Salem@                                                                                               
                                                                                                                               
    /usr/share/zoneinfo/posix/Antarctica:                                                                                      
    Casey@  Davis@  DumontDUrville@  Macquarie@  Mawson@  McMurdo@  Palmer@  Rothera@  South_Pole@  Syowa@  Troll@  Vostok@    
                                                                                                                               
    /usr/share/zoneinfo/posix/Arctic:                                                                                          
    Longyearbyen@                                                                                                              
                                                                                                                               
    /usr/share/zoneinfo/posix/Asia:                                                                                            
    Aden@       Barnaul@     Dili@         Jayapura@      Kuwait@        Pontianak@  Srednekolymsk@  Urumqi@                   
    Almaty@     Beirut@      Dubai@        Jerusalem@     Macao@         Pyongyang@  Taipei@         Ust-Nera@                 
    Amman@      Bishkek@     Dushanbe@     Kabul@         Macau@         Qatar@      Tashkent@       Vientiane@                
    Anadyr@     Brunei@      Famagusta@    Kamchatka@     Magadan@       Qostanay@   Tbilisi@        Vladivostok@              
    Aqtau@      Calcutta@    Gaza@         Karachi@       Makassar@      Qyzylorda@  Tehran@         Yakutsk@                  
    Aqtobe@     Chita@       Harbin@       Kashgar@       Manila@        Rangoon@    Tel_Aviv@       Yangon@                   
    Ashgabat@   Choibalsan@  Hebron@       Kathmandu@     Muscat@        Riyadh@     Thimbu@         Yekaterinburg@            
    Ashkhabad@  Chongqing@   Ho_Chi_Minh@  Katmandu@      Nicosia@       Saigon@     Thimphu@        Yerevan@                  
    Atyrau@     Chungking@   Hong_Kong@    Khandyga@      Novokuznetsk@  Sakhalin@   Tokyo@                                    
    Baghdad@    Colombo@     Hovd@         Kolkata@       Novosibirsk@   Samarkand@  Tomsk@                                    
    Bahrain@    Dacca@       Irkutsk@      Krasnoyarsk@   Omsk@          Seoul@      Ujung_Pandang@                            
    Baku@       Damascus@    Istanbul@     Kuala_Lumpur@  Oral@          Shanghai@   Ulaanbaatar@                              
    Bangkok@    Dhaka@       Jakarta@      Kuching@       Phnom_Penh@    Singapore@  Ulan_Bator@                               
                                                                                                                               
    /usr/share/zoneinfo/posix/Atlantic:                                                                                        
    Azores@   Canary@      Faeroe@  Jan_Mayen@  Reykjavik@      Stanley@                                                       
    Bermuda@  Cape_Verde@  Faroe@   Madeira@    South_Georgia@  St_Helena@                                                     
                                                                                                                               
    /usr/share/zoneinfo/posix/Australia:                                                                                       
    ACT@       Broken_Hill@  Darwin@  LHI@        Melbourne@  Perth@       Sydney@    West@                                    
    Adelaide@  Canberra@     Eucla@   Lindeman@   North@      Queensland@  Tasmania@  Yancowinna@                              
    Brisbane@  Currie@       Hobart@  Lord_Howe@  NSW@        South@       Victoria@                                           
                                                                                                                               
    /usr/share/zoneinfo/posix/Brazil:                                                                                          
    Acre@  DeNoronha@  East@  West@                                                                                            
                                                                                                                               
    /usr/share/zoneinfo/posix/Canada:                                                                                          
    Atlantic@  Central@  Eastern@  Mountain@  Newfoundland@  Pacific@  Saskatchewan@  Yukon@                                   
                                                                                                                               
    /usr/share/zoneinfo/posix/Chile:                                                                                           
    Continental@  EasterIsland@                                                                                                
                                                                                                                               
    /usr/share/zoneinfo/posix/Etc:                                                                                             
    GMT@    GMT+0@  GMT-10@  GMT+11@  GMT-13@  GMT+2@  GMT-4@  GMT+5@  GMT-7@  GMT+8@  Greenwich@  UTC@                        
    GMT0@   GMT-1@  GMT+10@  GMT-12@  GMT-14@  GMT-3@  GMT+4@  GMT-6@  GMT+7@  GMT-9@  UCT@        Zulu@                       
    GMT-0@  GMT+1@  GMT-11@  GMT+12@  GMT-2@   GMT+3@  GMT-5@  GMT+6@  GMT-8@  GMT+9@  Universal@                              
                                                                                                                               
    /usr/share/zoneinfo/posix/Europe:                                                                                          
    Amsterdam@  Bratislava@  Dublin@       Kaliningrad@  Madrid@     Oslo@       San_Marino@  Tallinn@    Vienna@              
    Andorra@    Brussels@    Gibraltar@    Kiev@         Malta@      Paris@      Sarajevo@    Tirane@     Vilnius@             
    Astrakhan@  Bucharest@   Guernsey@     Kirov@        Mariehamn@  Podgorica@  Saratov@     Tiraspol@   Volgograd@           
    Athens@     Budapest@    Helsinki@     Lisbon@       Minsk@      Prague@     Simferopol@  Ulyanovsk@  Warsaw@              
    Belfast@    Busingen@    Isle_of_Man@  Ljubljana@    Monaco@     Riga@       Skopje@      Uzhgorod@   Zagreb@              
    Belgrade@   Chisinau@    Istanbul@     London@       Moscow@     Rome@       Sofia@       Vaduz@      Zaporozhye@          
    Berlin@     Copenhagen@  Jersey@       Luxembourg@   Nicosia@    Samara@     Stockholm@   Vatican@    Zurich@              
                                                                                                                               
    /usr/share/zoneinfo/posix/Indian:                                                                                          
    Antananarivo@  Chagos@  Christmas@  Cocos@  Comoro@  Kerguelen@  Mahe@  Maldives@  Mauritius@  Mayotte@  Reunion@          
                                                                                                                               
    /usr/share/zoneinfo/posix/Mexico:                                                                                          
    BajaNorte@  BajaSur@  General@                                                                                             
                                                                                                                               
    /usr/share/zoneinfo/posix/Pacific:                                                                                         
    Apia@          Easter@     Funafuti@     Honolulu@    Majuro@     Norfolk@    Pohnpei@       Samoa@      Wake@             
    Auckland@      Efate@      Galapagos@    Johnston@    Marquesas@  Noumea@     Ponape@        Tahiti@     Wallis@           
    Bougainville@  Enderbury@  Gambier@      Kiritimati@  Midway@     Pago_Pago@  Port_Moresby@  Tarawa@     Yap@              
    Chatham@       Fakaofo@    Guadalcanal@  Kosrae@      Nauru@      Palau@      Rarotonga@     Tongatapu@                    
    Chuuk@         Fiji@       Guam@         Kwajalein@   Niue@       Pitcairn@   Saipan@        Truk@                         
                                                                                                                               
    /usr/share/zoneinfo/posix/SystemV:                                                                                         
    AST4@  AST4ADT@  CST6@  CST6CDT@  EST5@  EST5EDT@  HST10@  MST7@  MST7MDT@  PST8@  PST8PDT@  YST9@  YST9YDT@               
                                                                                                                               
    /usr/share/zoneinfo/posix/US:                                                                                              
    Alaska@    Arizona@  Eastern@       Hawaii@          Michigan@  Pacific@      Samoa@                                       
    Aleutian@  Central@  East-Indiana@  Indiana-Starke@  Mountain@  Pacific-New@                                               
                                                                                                                               
    /usr/share/zoneinfo/right:                                                                                                 
    Africa/      Australia/  Cuba     Etc/      GMT0@       Iceland  Kwajalein  Navajo    PRC        Turkey      W-SU          
    America/     Brazil/     EET      Europe/   GMT-0@      Indian/  Libya      NZ        PST8PDT    UCT         Zulu@         
    Antarctica/  Canada/     Egypt    Factory   GMT+0@      Iran     MET        NZ-CHAT   ROC        Universal@                
    Arctic/      CET         Eire     GB        Greenwich@  Israel   Mexico/    Pacific/  ROK        US/                       
    Asia/        Chile/      EST      GB-Eire@  Hongkong    Jamaica  MST        Poland    Singapore  UTC@                      
    Atlantic/    CST6CDT     EST5EDT  GMT       HST         Japan    MST7MDT    Portugal  SystemV/   WET                       
                                                                                                                               
    /usr/share/zoneinfo/right/Africa:                                                                                          
    Abidjan      Bamako@       Bujumbura@  Dar_es_Salaam@  Harare@       Kinshasa@    Lusaka@     Monrovia      Porto-Novo@    
    Accra        Bangui        Cairo@      Djibouti@       Johannesburg  Lagos@       Malabo@     Nairobi@      Sao_Tome       
    Addis_Ababa  Banjul@       Casablanca  Douala@         Juba          Libreville@  Maputo@     Ndjamena      Timbuktu@      
    Algiers      Bissau        Ceuta       El_Aaiun        Kampala@      Lome@        Maseru@     Niamey@       Tripoli@       
    Asmara@      Blantyre      Conakry@    Freetown@       Khartoum      Luanda@      Mbabane@    Nouakchott@   Tunis          
    Asmera@      Brazzaville@  Dakar@      Gaborone@       Kigali@       Lubumbashi@  Mogadishu@  Ouagadougou@  Windhoek       
                                                                                                                               
    /usr/share/zoneinfo/right/America:                                                                                         
    Adak            Boise           Dawson        Guatemala      Los_Angeles     Montevideo      Puerto_Rico     St_Johns      
    Anchorage       Buenos_Aires    Dawson_Creek  Guayaquil      Louisville      Montreal        Punta_Arenas    St_Kitts@     
    Anguilla        Cambridge_Bay   Denver@       Guyana         Lower_Princes@  Montserrat@     Rainy_River     St_Lucia@     
    Antigua@        Campo_Grande    Detroit       Halifax        Maceio          Nassau          Rankin_Inlet    St_Thomas@    
    Araguaina       Cancun          Dominica@     Havana@        Managua         New_York        Recife          St_Vincent@   
    Argentina/      Caracas         Edmonton      Hermosillo     Manaus          Nipigon         Regina          Swift_Current 
    Aruba           Catamarca       Eirunepe      Indiana/       Marigot@        Nome            Resolute        Tegucigalpa   
    Asuncion        Cayenne         El_Salvador   Indianapolis@  Martinique      Noronha         Rio_Branco@     Thule         
    Atikokan        Cayman          Ensenada      Inuvik         Matamoros       North_Dakota/   Rosario@        Thunder_Bay   
    Atka@           Chicago         Fortaleza     Iqaluit        Mazatlan        Ojinaga         Santa_Isabel@   Tijuana@      
    Bahia           Chihuahua       Fort_Nelson   Jamaica@       Mendoza         Panama@         Santarem        Toronto@      
    Bahia_Banderas  Coral_Harbour@  Fort_Wayne    Jujuy          Menominee       Pangnirtung     Santiago        Tortola@      
    Barbados        Cordoba         Glace_Bay     Juneau         Merida          Paramaribo      Santo_Domingo   Vancouver     
    Belem           Costa_Rica      Godthab       Kentucky/      Metlakatla      Phoenix         Sao_Paulo       Virgin@       
    Belize          Creston         Goose_Bay     Knox_IN        Mexico_City     Port-au-Prince  Scoresbysund    Whitehorse    
    Blanc-Sablon    Cuiaba          Grand_Turk    Kralendijk@    Miquelon        Porto_Acre      Shiprock@       Winnipeg      
    Boa_Vista       Curacao@        Grenada@      La_Paz         Moncton         Port_of_Spain@  Sitka           Yakutat       
    Bogota          Danmarkshavn    Guadeloupe@   Lima           Monterrey       Porto_Velho     St_Barthelemy@  Yellowknife   
                                                                                                                               
    /usr/share/zoneinfo/right/America/Argentina:                                                                               
    Buenos_Aires@  ComodRivadavia@  Jujuy@    Mendoza@      Salta     San_Luis  Ushuaia                                        
    Catamarca@     Cordoba@         La_Rioja  Rio_Gallegos  San_Juan  Tucuman                                                  
                                                                                                                               
    /usr/share/zoneinfo/right/America/Indiana:                                                                                 
    Indianapolis@  Knox@  Marengo  Petersburg  Tell_City  Vevay  Vincennes  Winamac                                            
                                                                                                                               
    /usr/share/zoneinfo/right/America/Kentucky:                                                                                
    Louisville@  Monticello                                                                                                    
                                                                                                                               
    /usr/share/zoneinfo/right/America/North_Dakota:                                                                            
    Beulah  Center  New_Salem                                                                                                  
                                                                                                                               
    /usr/share/zoneinfo/right/Antarctica:                                                                                      
    Casey  Davis  DumontDUrville  Macquarie  Mawson  McMurdo@  Palmer  Rothera  South_Pole@  Syowa  Troll  Vostok              
                                                                                                                               
    /usr/share/zoneinfo/right/Arctic:                                                                                          
    Longyearbyen                                                                                                               
                                                                                                                               
    /usr/share/zoneinfo/right/Asia:                                                                                            
    Aden        Baku        Colombo    Ho_Chi_Minh  Kashgar       Magadan       Pyongyang  Singapore@     Ujung_Pandang@       
    Almaty      Bangkok     Dacca      Hong_Kong@   Kathmandu     Makassar      Qatar@     Srednekolymsk  Ulaanbaatar          
    Amman       Barnaul     Damascus   Hovd         Katmandu@     Manila        Qostanay   Taipei@        Ulan_Bator@          
    Anadyr      Beirut      Dhaka@     Irkutsk      Khandyga      Muscat@       Qyzylorda  Tashkent       Urumqi@              
    Aqtau       Bishkek     Dili       Istanbul@    Kolkata@      Nicosia       Rangoon    Tbilisi        Ust-Nera             
    Aqtobe      Brunei      Dubai      Jakarta      Krasnoyarsk   Novokuznetsk  Riyadh@    Tehran@        Vientiane@           
    Ashgabat    Calcutta    Dushanbe   Jayapura     Kuala_Lumpur  Novosibirsk   Saigon@    Tel_Aviv@      Vladivostok          
    Ashkhabad@  Chita       Famagusta  Jerusalem@   Kuching       Omsk          Sakhalin   Thimbu         Yakutsk              
    Atyrau      Choibalsan  Gaza       Kabul        Kuwait@       Oral          Samarkand  Thimphu@       Yangon@              
    Baghdad     Chongqing@  Harbin@    Kamchatka    Macao         Phnom_Penh@   Seoul@     Tokyo@         Yekaterinburg        
    Bahrain     Chungking@  Hebron     Karachi      Macau@        Pontianak     Shanghai@  Tomsk          Yerevan              
                                                                                                                               
    /usr/share/zoneinfo/right/Atlantic:                                                                                        
    Azores  Bermuda  Canary  Cape_Verde  Faeroe  Faroe@  Jan_Mayen@  Madeira  Reykjavik@  South_Georgia  Stanley  St_Helena@   
                                                                                                                               
    /usr/share/zoneinfo/right/Australia:                                                                                       
    ACT       Broken_Hill  Darwin  LHI         Melbourne  Perth        Sydney@    West@                                        
    Adelaide  Canberra@    Eucla   Lindeman    North@     Queensland@  Tasmania@  Yancowinna@                                  
    Brisbane  Currie       Hobart  Lord_Howe@  NSW@       South@       Victoria@                                               
                                                                                                                               
    /usr/share/zoneinfo/right/Brazil:                                                                                          
    Acre@  DeNoronha@  East@  West@                                                                                            
                                                                                                                               
    /usr/share/zoneinfo/right/Canada:                                                                                          
    Atlantic@  Central@  Eastern@  Mountain@  Newfoundland@  Pacific@  Saskatchewan@  Yukon@                                   
                                                                                                                               
    /usr/share/zoneinfo/right/Chile:                                                                                           
    Continental@  EasterIsland                                                                                                 
                                                                                                                               
    /usr/share/zoneinfo/right/Etc:                                                                                             
    GMT@    GMT+0@  GMT-10  GMT+11  GMT-13  GMT+2  GMT-4  GMT+5  GMT-7  GMT+8  Greenwich@  UTC@                                
    GMT0@   GMT-1   GMT+10  GMT-12  GMT-14  GMT-3  GMT+4  GMT-6  GMT+7  GMT-9  UCT@        Zulu@                               
    GMT-0@  GMT+1   GMT-11  GMT+12  GMT-2   GMT+3  GMT-5  GMT+6  GMT-8  GMT+9  Universal@                                      
                                                                                                                               
    /usr/share/zoneinfo/right/Europe:                                                                                          
    Amsterdam  Bratislava  Dublin@       Kaliningrad  Madrid      Oslo@       San_Marino@  Tallinn    Vienna                   
    Andorra    Brussels    Gibraltar     Kiev         Malta       Paris       Sarajevo@    Tirane     Vilnius                  
    Astrakhan  Bucharest   Guernsey@     Kirov        Mariehamn@  Podgorica@  Saratov      Tiraspol@  Volgograd                
    Athens     Budapest    Helsinki      Lisbon@      Minsk       Prague@     Simferopol   Ulyanovsk  Warsaw@                  
    Belfast@   Busingen    Isle_of_Man@  Ljubljana@   Monaco      Riga        Skopje@      Uzhgorod   Zagreb@                  
    Belgrade   Chisinau    Istanbul@     London@      Moscow@     Rome        Sofia        Vaduz@     Zaporozhye               
    Berlin     Copenhagen  Jersey@       Luxembourg   Nicosia@    Samara      Stockholm    Vatican@   Zurich@                  
                                                                                                                               
    /usr/share/zoneinfo/right/Indian:                                                                                          
    Antananarivo@  Chagos  Christmas  Cocos  Comoro@  Kerguelen  Mahe  Maldives  Mauritius  Mayotte@  Reunion                  
                                                                                                                               
    /usr/share/zoneinfo/right/Mexico:                                                                                          
    BajaNorte@  BajaSur@  General@                                                                                             
                                                                                                                               
    /usr/share/zoneinfo/right/Pacific:                                                                                         
    Apia          Easter@    Funafuti     Honolulu    Majuro     Norfolk     Pohnpei       Samoa@     Wake                     
    Auckland@     Efate      Galapagos    Johnston@   Marquesas  Noumea      Ponape@       Tahiti     Wallis                   
    Bougainville  Enderbury  Gambier      Kiritimati  Midway     Pago_Pago@  Port_Moresby  Tarawa     Yap@                     
    Chatham@      Fakaofo    Guadalcanal  Kosrae      Nauru      Palau       Rarotonga     Tongatapu                           
    Chuuk         Fiji       Guam         Kwajalein@  Niue       Pitcairn    Saipan@       Truk@                               
                                                                                                                               
    /usr/share/zoneinfo/right/SystemV:                                                                                         
    AST4@  AST4ADT@  CST6@  CST6CDT@  EST5@  EST5EDT@  HST10@  MST7@  MST7MDT@  PST8@  PST8PDT@  YST9@  YST9YDT@               
                                                                                                                               
    /usr/share/zoneinfo/right/US:                                                                                              
    Alaska@    Arizona@  Eastern@       Hawaii@          Michigan@  Pacific@      Samoa@                                       
    Aleutian@  Central@  East-Indiana@  Indiana-Starke@  Mountain@  Pacific-New@                                               
                                                                                                                               
    /usr/share/zoneinfo/SystemV:                                                                                               
    AST4@  AST4ADT@  CST6@  CST6CDT@  EST5@  EST5EDT@  HST10@  MST7@  MST7MDT@  PST8@  PST8PDT@  YST9@  YST9YDT@               
                                                                                                                               
    /usr/share/zoneinfo/US:                                                                                                    
    Alaska@    Arizona@  Eastern@       Hawaii@          Michigan@  Pacific@      Samoa@                                       
    Aleutian@  Central@  East-Indiana@  Indiana-Starke@  Mountain@  Pacific-New@


    Ainsi donc, quand vos faites appellent à la fonction setlocale et localtime dans votre programme celle-ci vont tout simplement faire appel à la bibliothèque libC qui va effectuer plusieurs opérations: il commence par charger le LOCPTACH donc les paramètres locaux, qui sans rentré dans les détail lui dit simplement de suivre le chemin relatif en question (/etc/localtime) pour savoir ou récupérer l'information du fuseau horaire, horaire et tout ce qui en suit etc.. un aperçu de ce qui se passe sous le capot pourrais vous aidé a mieux comprendre.

    Nom : Capture du 2020-02-23 14-22-02.png
Affichages : 756
Taille : 98,4 Ko

    trace d’exécution


    strace ./Deb
    execve("./Deb", ["./Deb"], 0x7ffcf7c7d810 /* 55 vars */) = 0
    brk(NULL) = 0x56218a58e000
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
    openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
    fstat(3, {st_mode=S_IFREG|0644, st_size=175569, ...}) = 0
    mmap(NULL, 175569, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f3fc751b000
    close(3) = 0
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
    read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\34\2\0\0\0\0\0"..., 832) = 832
    fstat(3, {st_mode=S_IFREG|0755, st_size=2030544, ...}) = 0
    mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fc7519000
    mmap(NULL, 4131552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fc6f2e000
    mprotect(0x7f3fc7115000, 2097152, PROT_NONE) = 0
    mmap(0x7f3fc7315000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7f3fc7315000
    mmap(0x7f3fc731b000, 15072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3fc731b000
    close(3) = 0
    arch_prctl(ARCH_SET_FS, 0x7f3fc751a4c0) = 0
    mprotect(0x7f3fc7315000, 16384, PROT_READ) = 0
    mprotect(0x562189a6a000, 4096, PROT_READ) = 0
    mprotect(0x7f3fc7546000, 4096, PROT_READ) = 0
    munmap(0x7f3fc751b000, 175569) = 0
    brk(NULL) = 0x56218a58e000
    brk(0x56218a5af000) = 0x56218a5af000
    openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
    fstat(3, {st_mode=S_IFREG|0644, st_size=4270640, ...}) = 0
    mmap(NULL, 4270640, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f3fc6b1b000
    close(3) = 0
    write(2, "Pr\303\251f\303\251rence langage\t:fr_FR.UTF-"..., 34Préférence langage :fr_FR.UTF-8
    ) = 34
    openat(AT_FDCWD, "/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
    fstat(3, {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0
    fstat(3, {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0
    read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\r\0\0\0\r\0\0\0\0"..., 4096) = 2971
    lseek(3, -1872, SEEK_CUR) = 1099
    read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\r\0\0\0\r\0\0\0\0"..., 4096) = 1872
    close(3) = 0
    write(2, "strftime\t\t:dimanche 23 f\303\251vrier "..., 51strftime :dimanche 23 février 2020, 13:43:19 CET
    ) = 51
    exit_group(0) = ?
    +++ exited with 0 +++




    À bientôt.

  8. #8
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 185
    Par défaut
    Pour ceux que ça peut intéresser :

    La définition des noms des jours se trouve dans le fichier :
    /usr/share/i18n/locales/fr_FR

    C'est un fichier ASCII.
    Dans la partie LC_TIME, vous trouverez les sections day et abday contenant les noms courts et longs des jours codés en UTF8 sous la forme :
    "<U0064><U0069><U006D><U002E>";/ pour dim

    setlocale doit exploiter ce fichier en plus du tzfile.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. CSS2 : les recommandations du W3C en français
    Par Community Management dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 26/11/2023, 14h59
  2. [CR] cherche doc en français
    Par chloe.j3 dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 04/10/2006, 16h32
  3. Réponses: 2
    Dernier message: 13/06/2002, 14h50
  4. Existe-t-il un langage de prog "virtuel" en Français
    Par HRS dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 10/06/2002, 18h11
  5. Réponses: 0
    Dernier message: 07/05/2002, 12h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo