aboutsummaryrefslogtreecommitdiff
path: root/date.c
diff options
context:
space:
mode:
Diffstat (limited to 'date.c')
-rw-r--r--date.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/date.c b/date.c
new file mode 100644
index 0000000..522fda5
--- /dev/null
+++ b/date.c
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: BSD-3-Clause */
+/*
+ * Copyright (C) 2022, 2023 Ferass El Hafidi <vitali64pmemail@protonmail.com>
+ * Copyright (C) 2022 Leah Rowe <leah@libreboot.org>
+ */
+#include <time.h>
+#include <stdio.h>
+#include <errno.h>
+
+#define REQ_ERRPRINT
+#include "common.h"
+
+#ifdef FASESBOX
+int date_main(int argc, char *argv[]) {
+#else
+int main(int argc, char *argv[]) {
+#endif
+ time_t epoch = time(NULL);
+ struct tm* date = localtime(&epoch);
+ char date_s[31];
+ const char *format;
+ if (argc == 2 && argv[1][0] == '+') {
+ argv[1]++;
+ format = argv[1];
+ }
+ else {
+ format = "%a %b %e %H:%M:%S %Z %Y";
+ }
+ strftime(date_s, 31, format, date);
+ printf("%s\n", date_s);
+ return errprint(argv[0], NULL, errno);
+}