diff options
| -rw-r--r-- | epoch.c | 12 | ||||
| -rw-r--r-- | localutc.c | 36 | ||||
| -rw-r--r-- | timezones.c | 43 |
3 files changed, 91 insertions, 0 deletions
@@ -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; +} |
