about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--wcal.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/wcal.c b/wcal.c
index 21ced91..294002b 100644
--- a/wcal.c
+++ b/wcal.c
@@ -56,10 +56,19 @@ parse_isodate(char *optarg, struct tm *tm)
 int
 main(int argc, char *argv[])
 {
+	time_t now = time(0);
+	struct tm *tm = localtime(&now);
+	struct tm tm2 = {
+		.tm_year = tm->tm_year,
+		.tm_mon = tm->tm_mon,
+		.tm_mday = tm->tm_mday
+	};
+
 	setenv("TZ", "", 1);
+	tzset();
 
-	time_t now = time(0);
-	struct tm *tm = gmtime(&now);
+	now = mktime(&tm2);
+	tm = gmtime(&now);
 
 	int c;
 	while ((c = getopt(argc, argv, "13cCid:y")) != -1)