aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coreutils/date.c4
-rw-r--r--testsuite/date/date-@-works13
2 files changed, 16 insertions, 1 deletions
diff --git a/coreutils/date.c b/coreutils/date.c
index c73fb5be6..6ad5f1bb6 100644
--- a/coreutils/date.c
+++ b/coreutils/date.c
@@ -282,7 +282,9 @@ int date_main(int argc UNUSED_PARAM, char **argv)
282 } 282 }
283 283
284 /* Correct any day of week and day of year etc. fields */ 284 /* Correct any day of week and day of year etc. fields */
285 tm_time.tm_isdst = -1; /* Be sure to recheck dst */ 285 /* Be sure to recheck dst (but not if date is time_t format) */
286 if (date_str[0] != '@')
287 tm_time.tm_isdst = -1;
286 ts.tv_sec = validate_tm_time(date_str, &tm_time); 288 ts.tv_sec = validate_tm_time(date_str, &tm_time);
287 289
288 maybe_set_utc(opt); 290 maybe_set_utc(opt);
diff --git a/testsuite/date/date-@-works b/testsuite/date/date-@-works
new file mode 100644
index 000000000..03b4c7f03
--- /dev/null
+++ b/testsuite/date/date-@-works
@@ -0,0 +1,13 @@
1# Tests for time_t value (unix time format)
2
3# Just before DST switched off
4test x"Sun Oct 31 03:59:59 EEST 2010" = x"`TZ=EET-2EEST,M3.5.0/3,M10.5.0/4 busybox date -d @1288486799`"
5
6# Just after DST switched off
7test x"Sun Oct 31 03:00:01 EET 2010" = x"`TZ=EET-2EEST,M3.5.0/3,M10.5.0/4 busybox date -d @1288486801`"
8
9# Just before DST switched on
10test x"Sun Mar 28 02:59:59 EET 2010" = x"`TZ=EET-2EEST,M3.5.0/3,M10.5.0/4 busybox date -d @1269737999`"
11
12# Just after DST switched on
13test x"Sun Mar 28 04:00:01 EEST 2010" = x"`TZ=EET-2EEST,M3.5.0/3,M10.5.0/4 busybox date -d @1269738001`"