From c143b059529d1742fef17d5bd3e2a47ec816b8d5 Mon Sep 17 00:00:00 2001 From: Jasper Huang Date: Fri, 12 Jul 2024 12:14:01 -0700 Subject: [PATCH 1/2] add STimestampToEpoch --- libstuff/STime.cpp | 7 +++++++ libstuff/libstuff.h | 1 + 2 files changed, 8 insertions(+) diff --git a/libstuff/STime.cpp b/libstuff/STime.cpp index f88a4edef..7d88100e1 100644 --- a/libstuff/STime.cpp +++ b/libstuff/STime.cpp @@ -19,6 +19,13 @@ string SComposeTime(const string& format, uint64_t when) { return string(buf, length); } +uint64_t STimestampToEpoch(const string& format, const string& timestamp) { + struct tm time; + memset(&time, 0, sizeof(struct tm)); + strptime(timestamp.c_str(), format.c_str(), &time); + return mktime(&time); +} + int SDaysInMonth(int year, int month) { // 30 days hath September... if (month == 4 || month == 6 || month == 9 || month == 11) { diff --git a/libstuff/libstuff.h b/libstuff/libstuff.h index 5a3cd5af2..ad32c2a03 100644 --- a/libstuff/libstuff.h +++ b/libstuff/libstuff.h @@ -161,6 +161,7 @@ uint64_t STimeNow(); uint64_t STimeThisMorning(); // Timestamp for this morning at midnight GMT int SDaysInMonth(int year, int month); string SComposeTime(const string& format, uint64_t when); +uint64_t STimestampToEpoch(const string& format, const string& timestamp); timeval SToTimeval(uint64_t when); string SFirstOfMonth(const string& timeStamp, const int64_t& offset = 0); From 2c27945638b853e90066fe6fe1acdc7bfa2c8a3d Mon Sep 17 00:00:00 2001 From: Jasper Huang Date: Fri, 12 Jul 2024 12:21:30 -0700 Subject: [PATCH 2/2] include import for memset --- libstuff/STime.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libstuff/STime.cpp b/libstuff/STime.cpp index 7d88100e1..224ae6846 100644 --- a/libstuff/STime.cpp +++ b/libstuff/STime.cpp @@ -1,5 +1,6 @@ #include "libstuff.h" +#include #include uint64_t STimeNow() {