#include <stdio.h>
#include <time.h>
#include <string.h>
void output_date( int day, int month, int year )
{
char buffer[64] = "";
struct tm e_time;
memset( &e_time
, 0, sizeof( e_time
) ); e_time.tm_year = year - 1900;
e_time.tm_mon = month - 1;
e_time.tm_mday = day;
e_time.tm_hour = 0;
e_time.tm_min = 0;
e_time.tm_sec = 0;
e_time.tm_isdst = -1;
//mktime( &e_time );
// Breakdown of the format string (From GCC 4.7x)
// %a - The abbreviated weekday name according to the current locale
// %b - The abbreviated month name according to the current locale.
// %d - The day of the month as a decimal number (range 01 to 31).
// %e - Like %d, the day of the month as a decimal number, but a leading zero is replaced by a space. (SU)
// %H - The hour as a decimal number using a 24-hour clock (range 00 to 23).
// %M - The minute as a decimal number (range 00 to 59).
// %S - The second as a decimal number (range 00 to 60). (The range is up to 60 to allow for occasional leap seconds.)
// %Z - The timezone or name or abbreviation.
// %z - The +hhmm or -hhmm numeric timezone (that is, the hour and minute offset from UTC). (SU)
strftime( buffer
, sizeof( buffer
), "%a %b %e %H:%M:%S %Z (%z) %Y", &e_time
);
}
int main(void)
{
output_date( 7, 7, 2013 );
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx0aW1lLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCnZvaWQgb3V0cHV0X2RhdGUoIGludCBkYXksIGludCBtb250aCwgaW50IHllYXIgKQp7CiAgICBjaGFyIGJ1ZmZlcls2NF0gPSAiIjsKICAgIHN0cnVjdCB0bSBlX3RpbWU7CgogICAgbWVtc2V0KCAmZV90aW1lLCAwLCBzaXplb2YoIGVfdGltZSApICk7CiAgICBlX3RpbWUudG1feWVhciA9IHllYXIgLSAxOTAwOwogICAgZV90aW1lLnRtX21vbiA9IG1vbnRoIC0gMTsKICAgIGVfdGltZS50bV9tZGF5ID0gZGF5OwogICAgZV90aW1lLnRtX2hvdXIgPSAwOwogICAgZV90aW1lLnRtX21pbiA9IDA7CiAgICBlX3RpbWUudG1fc2VjID0gMDsKICAgIGVfdGltZS50bV9pc2RzdCA9IC0xOwogICAgCgogICAgLy9ta3RpbWUoICZlX3RpbWUgKTsKLy8gQnJlYWtkb3duIG9mIHRoZSBmb3JtYXQgc3RyaW5nIChGcm9tIEdDQyA0Ljd4KQovLyAlYSAtIFRoZSBhYmJyZXZpYXRlZCB3ZWVrZGF5IG5hbWUgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZQovLyAlYiAtIFRoZSBhYmJyZXZpYXRlZCBtb250aCBuYW1lIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUuCi8vICVkIC0gVGhlIGRheSBvZiB0aGUgbW9udGggYXMgYSBkZWNpbWFsIG51bWJlciAocmFuZ2UgMDEgdG8gMzEpLgovLyAlZSAtIExpa2UgJWQsIHRoZSBkYXkgb2YgdGhlIG1vbnRoIGFzIGEgZGVjaW1hbCBudW1iZXIsIGJ1dCBhIGxlYWRpbmcgemVybyBpcyByZXBsYWNlZCBieSBhIHNwYWNlLiAoU1UpCi8vICVIIC0gVGhlIGhvdXIgYXMgYSBkZWNpbWFsIG51bWJlciB1c2luZyBhIDI0LWhvdXIgY2xvY2sgKHJhbmdlIDAwIHRvIDIzKS4KLy8gJU0gLSBUaGUgbWludXRlIGFzIGEgZGVjaW1hbCBudW1iZXIgKHJhbmdlIDAwIHRvIDU5KS4KLy8gJVMgLSBUaGUgc2Vjb25kIGFzIGEgZGVjaW1hbCBudW1iZXIgKHJhbmdlIDAwIHRvIDYwKS4gIChUaGUgcmFuZ2UgaXMgdXAgdG8gNjAgdG8gYWxsb3cgZm9yIG9jY2FzaW9uYWwgbGVhcCBzZWNvbmRzLikKLy8gJVogLSBUaGUgdGltZXpvbmUgb3IgbmFtZSBvciBhYmJyZXZpYXRpb24uCi8vICV6IC0gVGhlICtoaG1tIG9yIC1oaG1tIG51bWVyaWMgdGltZXpvbmUgKHRoYXQgaXMsIHRoZSBob3VyIGFuZCBtaW51dGUgb2Zmc2V0IGZyb20gVVRDKS4gKFNVKQogICAgc3RyZnRpbWUoIGJ1ZmZlciwgc2l6ZW9mKCBidWZmZXIgKSwgIiVhICViICVlICVIOiVNOiVTICVaICgleikgJVkiLCAmZV90aW1lICk7CgogICAgcHJpbnRmKCAiJXNcbiIsIGJ1ZmZlciApOwoKfQoKCmludCBtYWluKHZvaWQpCnsKICAgIG91dHB1dF9kYXRlKCA3LCA3LCAyMDEzICk7CglyZXR1cm4gMDsKfQo=