19inline int64_t gettimeofday_us() {
21 if (gettimeofday(&now, NULL) != 0) {
22 perror(
"gettimeofday");
24 return now.tv_sec * 1000000L + now.tv_usec;
27inline int64_t gettimeofday_ms() {
return gettimeofday_us() / 1000L; }
29inline int64_t gettimeofday_s() {
return gettimeofday_us() / 1000000L; }
31inline std::string time_format(time_t t = time(
nullptr)) {
35 if (strftime(str,
sizeof(str),
"%Y-%m-%d %H:%M:%S", &tm) == 0) {
44inline std::string time_format(time_t t = time(
nullptr)) {
45 struct tm *tm = localtime(&t);
47 if (strftime(str,
sizeof(str),
"%Y-%m-%d %H:%M:%S", tm) == 0) {
55 int a = (14 - month) / 12;
56 int y = year + 4800 - a;
57 int m = month + 12 * a - 3;
58 return day + (153 * m + 2) / 5 + y * 365 + y / 4 - y / 100 + y / 400 - 32045;
63 static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
65 return (y + y / 4 - y / 100 + y / 400 + t[m - 1] + d) % 7;
71 return (y + y / 4 - y / 100 + y / 400 +
"-bed=pen+mad."[m] + d) % 7;
Definition: algorithm.h:10
int day_of_the_week(int y, int m, int d)
Definition: time.h:62
int julianday(int year, int month, int day)
Definition: time.h:54