fix times (and timezone)
- in the index and log show the short time (GMT). - in the Atom feed use GMT time. - for commits show the time + offset.
This commit is contained in:
parent
7a1da0b985
commit
462ba66ee7
2 changed files with 30 additions and 20 deletions
|
@ -42,25 +42,19 @@ xmlencode(FILE *fp, const char *s, size_t len)
|
|||
}
|
||||
|
||||
void
|
||||
printtimeformat(FILE *fp, const git_time *intime, const char *fmt)
|
||||
printtimeshort(FILE *fp, const git_time *intime)
|
||||
{
|
||||
struct tm *intm;
|
||||
time_t t;
|
||||
char out[32];
|
||||
|
||||
t = (time_t) intime->time + (intime->offset * 60);
|
||||
t = (time_t)intime->time;
|
||||
if (!(intm = gmtime(&t)))
|
||||
return;
|
||||
strftime(out, sizeof(out), fmt, intm);
|
||||
strftime(out, sizeof(out), "%Y-%m-%d %H:%M", intm);
|
||||
fputs(out, fp);
|
||||
}
|
||||
|
||||
void
|
||||
printtimeshort(FILE *fp, const git_time *intime)
|
||||
{
|
||||
printtimeformat(fp, intime, "%Y-%m-%d %H:%M");
|
||||
}
|
||||
|
||||
int
|
||||
writeheader(FILE *fp)
|
||||
{
|
||||
|
|
38
stagit.c
38
stagit.c
|
@ -268,35 +268,51 @@ mkdirp(const char *path)
|
|||
}
|
||||
|
||||
void
|
||||
printtimeformat(FILE *fp, const git_time *intime, const char *fmt)
|
||||
printtimez(FILE *fp, const git_time *intime)
|
||||
{
|
||||
struct tm *intm;
|
||||
time_t t;
|
||||
char out[32];
|
||||
|
||||
t = (time_t) intime->time + (intime->offset * 60);
|
||||
t = (time_t)intime->time;
|
||||
if (!(intm = gmtime(&t)))
|
||||
return;
|
||||
strftime(out, sizeof(out), fmt, intm);
|
||||
strftime(out, sizeof(out), "%Y-%m-%dT%H:%M:%SZ", intm);
|
||||
fputs(out, fp);
|
||||
}
|
||||
|
||||
void
|
||||
printtimez(FILE *fp, const git_time *intime)
|
||||
{
|
||||
printtimeformat(fp, intime, "%Y-%m-%dT%H:%M:%SZ");
|
||||
}
|
||||
|
||||
void
|
||||
printtime(FILE *fp, const git_time *intime)
|
||||
{
|
||||
printtimeformat(fp, intime, "%a %b %e %T %Y");
|
||||
struct tm *intm;
|
||||
time_t t;
|
||||
int offset, sign = '+';
|
||||
char out[32];
|
||||
|
||||
offset = intime->offset * 60;
|
||||
t = (time_t)intime->time + offset;
|
||||
if (!(intm = gmtime(&t)))
|
||||
return;
|
||||
strftime(out, sizeof(out), "%a %b %e %H:%M:%S", intm);
|
||||
if (offset < 0) {
|
||||
offset = -offset;
|
||||
sign = '-';
|
||||
}
|
||||
fprintf(fp, "%s %c%02d%02d", out, sign, offset / 60, offset % 60);
|
||||
}
|
||||
|
||||
void
|
||||
printtimeshort(FILE *fp, const git_time *intime)
|
||||
{
|
||||
printtimeformat(fp, intime, "%Y-%m-%d %H:%M");
|
||||
struct tm *intm;
|
||||
time_t t;
|
||||
char out[32];
|
||||
|
||||
t = (time_t)intime->time;
|
||||
if (!(intm = gmtime(&t)))
|
||||
return;
|
||||
strftime(out, sizeof(out), "%Y-%m-%d %H:%M", intm);
|
||||
fputs(out, fp);
|
||||
}
|
||||
|
||||
int
|
||||
|
|
Loading…
Reference in a new issue