putenv((char*)"TZ=UTC0");
}
+#if ENABLE_LONG_OPTS
+static const char date_longopts[] ALIGN1 =
+ "rfc-822\0" No_argument "R"
+ "rfc-2822\0" No_argument "R"
+ "set\0" Required_argument "s"
+ "utc\0" No_argument "u"
+ /*"universal\0" No_argument "u"*/
+ "date\0" Required_argument "d"
+ "reference\0" Required_argument "r"
+ ;
+#endif
+
int date_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int date_main(int argc UNUSED_PARAM, char **argv)
{
opt_complementary = "d--s:s--d"
IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
+ IF_LONG_OPTS(applet_long_options = date_longopts;)
opt = getopt32(argv, "Rs:ud:r:"
IF_FEATURE_DATE_ISOFMT("I::D:"),
&date_str, &date_str, &filename
#define date_full_usage "\n\n" \
"Display time (using +FMT), or set time\n" \
"\nOptions:" \
+ IF_NOT_LONG_OPTS( \
"\n [-s] TIME Set time to TIME" \
"\n -u Work in UTC (don't convert to local time)" \
- "\n -R Output RFC-822 compliant date string" \
+ "\n -R Output RFC-2822 compliant date string" \
+ ) IF_LONG_OPTS( \
+ "\n [-s,--set] TIME Set time to TIME" \
+ "\n -u,--utc Work in UTC (don't convert to local time)" \
+ "\n -R,--rfc-2822 Output RFC-2822 compliant date string" \
+ ) \
IF_FEATURE_DATE_ISOFMT( \
"\n -I[SPEC] Output ISO-8601 compliant date string" \
"\n SPEC='date' (default) for date only," \
"\n 'hours', 'minutes', or 'seconds' for date and" \
"\n time to the indicated precision" \
- ) \
+ ) IF_NOT_LONG_OPTS( \
"\n -r FILE Display last modification time of FILE" \
"\n -d TIME Display TIME, not 'now'" \
+ ) IF_LONG_OPTS( \
+ "\n -r,--reference FILE Display last modification time of FILE" \
+ "\n -d,--date TIME Display TIME, not 'now'" \
+ ) \
IF_FEATURE_DATE_ISOFMT( \
"\n -D FMT Use FMT for -d TIME conversion" \
) \