summaryrefslogtreecommitdiff
path: root/timezones.c
diff options
context:
space:
mode:
authorDaniel Andreas Wang <danielaw@relvokcor.xyz>2026-03-12 16:39:40 +0100
committerDaniel Andreas Wang <danielaw@relvokcor.xyz>2026-03-12 16:39:40 +0100
commit6f966bd1132c476d9bf9c266e59f531cb3c26e27 (patch)
treec882e5481cf560238eebc449b8234f7187a3fc15 /timezones.c
first commitHEADmain
Diffstat (limited to 'timezones.c')
-rw-r--r--timezones.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/timezones.c b/timezones.c
new file mode 100644
index 0000000..45a5b3f
--- /dev/null
+++ b/timezones.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <time.h>
+#include <stdlib.h>
+
+int main() {
+ time_t now = time(NULL);
+ struct tm local_time;
+ struct tm *temp;
+ char default_buffer[100];
+ char ny_buffer[100];
+ char tokyo_buffer[100];
+
+ // Get default time zone
+ temp = localtime(&now);
+ if (temp == NULL) return 1;
+ local_time = *temp;
+ strftime(default_buffer, sizeof(default_buffer), "%Y-%m-%d %H:%M:%S %Z", &local_time);
+
+ // Change to New York time
+ setenv("TZ", "America/New_York", 1);
+ tzset();
+
+ temp = localtime(&now);
+ if (temp == NULL) return 1;
+ local_time = *temp;
+ strftime(ny_buffer, sizeof(ny_buffer), "%Y-%m-%d %H:%M:%S %Z", &local_time);
+
+ // Change to Tokyo time
+ setenv("TZ", "Asia/Tokyo", 1);
+ tzset();
+
+ temp = localtime(&now);
+ if (temp == NULL) return 1;
+ local_time = *temp;
+ strftime(tokyo_buffer, sizeof(tokyo_buffer), "%Y-%m-%d %H:%M:%S %Z", &local_time);
+
+ // Now print all three (safe - each has its own buffer)
+ printf("Default: %s\n", default_buffer);
+ printf("New York: %s\n", ny_buffer);
+ printf("Tokyo: %s\n", tokyo_buffer);
+
+ return 0;
+}