Les programme suivant '-04: 00' pour moi EDT et imprime '04: 30' Quand je tournerai TZ 'Asie/Calcutta':
#include <stdio.h>
#include <time.h>
int
main()
{
int hours;
int minutes;
int negative_sign = 1;
tzset();
// printf ("tzname: %s tzname[1]: %s\n", tzname [0], tzname [1]);
// printf ("DST: %d\n", daylight); /* 0 when no DST */
// printf ("timezone: %ld\n", timezone);
/* 'timezone' is the number of seconds west of GMT */
/* It is negative for tzs east of GMT */
if (timezone <= 0) {
timezone = -timezone;
negative_sign = 0;
}
if (daylight) {
timezone -= 3600; /* substract 1h when DST is active */
if (timezone <= 0) {
timezone = -timezone;
negative_sign = 0;
}
}
timezone /= 60; /* convert to minutes */
hours = timezone/60;
minutes = timezone % 60;
printf ("%s%02d:%02d\n", (negative_sign ? "-" : ""), hours, minutes);
return 0;
}
Ne hésitez pas à utiliser/changement tout vous voulez et ensuite l'appeler à partir de votre script shell.
Oui ... et si vous posez une question * spécifique *, vous pourriez même apprendre à faire quelque chose d'utile avec! :) – hobbs