This should go away when we get the ability to parse strings to DateTime's.
@@ -280,6 +280,12 @@ String DateTime::to_string(const String& format) const
return builder.build();
}
+bool DateTime::is_before(const String& other) const
+{
+ auto now_string = String::format("%04d%02d%02d%02d%02d%02dZ", year(), month(), weekday(), hour(), minute(), second());
+ return __builtin_strcasecmp(now_string.characters(), other.characters()) < 0;
+}
+
const LogStream& operator<<(const LogStream& stream, const DateTime& value)
{
return stream << value.to_string();
@@ -54,6 +54,10 @@ public:
static DateTime now();
static DateTime from_timestamp(time_t);
+ // FIXME: This should be replaced with a proper comparison
+ // operator when we get the equivalent of strptime
+ bool is_before(const String&) const;
private:
time_t m_timestamp { 0 };
unsigned m_year { 0 };