parent
161acf1731
commit
acdc364fab
@ -0,0 +1,56 @@ |
||||
#include <stdio.h> |
||||
#include <time.h> |
||||
|
||||
#include <console.h> |
||||
#include <rtc.h> |
||||
|
||||
#include <shell/rtc.h> |
||||
|
||||
void shell_date(struct console *con, const char **argv, size_t argc) |
||||
{ |
||||
struct tm now; |
||||
|
||||
(void)argv; |
||||
(void)argc; |
||||
|
||||
rtc_get_time(&now); |
||||
|
||||
fprintf(con->fp, "%02d:%02d:%02d %02d-%02d-%d\n", |
||||
now.tm_hour, now.tm_min, now.tm_sec, |
||||
now.tm_mday, now.tm_mon + 1, now.tm_year + 1900); |
||||
} |
||||
|
||||
void shell_time(struct console *con, const char **argv, size_t argc) |
||||
{ |
||||
struct tm now; |
||||
|
||||
(void)argv; |
||||
(void)argc; |
||||
|
||||
rtc_get_time(&now); |
||||
|
||||
fprintf(con->fp, "%ld\n", mktime(&now)); |
||||
} |
||||
|
||||
void shell_set_date(struct console *con, const char **argv, size_t argc) |
||||
{ |
||||
struct tm now; |
||||
|
||||
if (argc < 2) { |
||||
fprintf(con->fp, "usage: set-date <format> <date>\n"); |
||||
return; |
||||
} |
||||
|
||||
rtc_get_time(&now); |
||||
|
||||
if (!strptime(argv[1], argv[0], &now)) { |
||||
fprintf(con->fp, "error\n"); |
||||
return; |
||||
} |
||||
|
||||
rtc_init(&now); |
||||
|
||||
fprintf(con->fp, "%02d:%02d:%02d %02d-%02d-%d\n", |
||||
now.tm_hour, now.tm_min, now.tm_sec, |
||||
now.tm_mday, now.tm_mon + 1, now.tm_year + 1900); |
||||
} |
Loading…
Reference in new issue