summaryrefslogtreecommitdiff
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
first commitHEADmain
-rw-r--r--epoch.c12
-rw-r--r--localutc.c36
-rw-r--r--timezones.c43
3 files changed, 91 insertions, 0 deletions
diff --git a/epoch.c b/epoch.c
new file mode 100644
index 0000000..b1450db
--- /dev/null
+++ b/epoch.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#include <time.h>
+
+int main() {
+ time_t now;
+
+ now = time(NULL); // Get current time
+
+ printf("Seconds since epoch: %ld\n", (long)now);
+
+ return 0;
+}
diff --git a/localutc.c b/localutc.c
new file mode 100644
index 0000000..3f2334e
--- /dev/null
+++ b/localutc.c
@@ -0,0 +1,36 @@
+#include <stdio.h>
+#include <time.h>
+
+int main() {
+ time_t now = time(NULL);
+ struct tm local_time, utc_time;
+ struct tm *temp;
+ char local_buffer[100];
+ char utc_buffer[100];
+
+ // Get local time and copy it
+ temp = localtime(&now);
+ if (temp == NULL) {
+ fprintf(stderr, "Error: localtime() failed\n");
+ return 1;
+ }
+ local_time = *temp;
+
+ // Get UTC time and copy it
+ temp = gmtime(&now);
+ if (temp == NULL) {
+ fprintf(stderr, "Error: gmtime() failed\n");
+ return 1;
+ }
+ utc_time = *temp;
+
+ // Format into separate buffers
+ strftime(local_buffer, sizeof(local_buffer), "%Y-%m-%d %H:%M:%S", &local_time);
+ strftime(utc_buffer, sizeof(utc_buffer), "%Y-%m-%d %H:%M:%S", &utc_time);
+
+ // Now print (order doesn't matter - data is safe)
+ printf("Local time: %s\n", local_buffer);
+ printf("UTC time: %s\n", utc_buffer);
+
+ return 0;
+}
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;
+}