|
Lines 388-393
Link Here
|
| 388 |
pt = _conv(t->tm_year + TM_YEAR_BASE, "%04d", |
388 |
pt = _conv(t->tm_year + TM_YEAR_BASE, "%04d", |
| 389 |
pt, ptlim); |
389 |
pt, ptlim); |
| 390 |
continue; |
390 |
continue; |
|
|
391 |
#ifdef ISO8601_TIMEZONES |
| 392 |
case 'z': |
| 393 |
{ |
| 394 |
long offabs; |
| 395 |
int offhr; |
| 396 |
int offmin; |
| 397 |
char offsign[2]; |
| 398 |
|
| 399 |
offsign[1] = '\0'; |
| 400 |
if (t->tm_gmtoff < 0) { |
| 401 |
*offsign = '-'; |
| 402 |
offabs = - t->tm_gmtoff; |
| 403 |
} else { |
| 404 |
*offsign = '+'; |
| 405 |
offabs = t->tm_gmtoff; |
| 406 |
} |
| 407 |
offhr = offabs / 3600; |
| 408 |
offmin = (offabs - offhr*3600) / 60; |
| 409 |
|
| 410 |
pt = _add(offsign, pt, ptlim); |
| 411 |
pt = _conv(offhr, "%02d", pt, ptlim); |
| 412 |
pt = _conv(offmin, "%02d", pt, ptlim); |
| 413 |
} |
| 414 |
continue; |
| 415 |
#endif /* defined ISO8601_TIMEZONES */ |
| 391 |
case 'Z': |
416 |
case 'Z': |
| 392 |
if (t->tm_zone != NULL) |
417 |
if (t->tm_zone != NULL) |
| 393 |
pt = _add(t->tm_zone, pt, ptlim); |
418 |
pt = _add(t->tm_zone, pt, ptlim); |