summaryrefslogtreecommitdiffstats
path: root/logic/minecraft/ParseUtils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'logic/minecraft/ParseUtils.cpp')
-rw-r--r--logic/minecraft/ParseUtils.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/logic/minecraft/ParseUtils.cpp b/logic/minecraft/ParseUtils.cpp
new file mode 100644
index 00000000..67460ca4
--- /dev/null
+++ b/logic/minecraft/ParseUtils.cpp
@@ -0,0 +1,23 @@
+#include <QDateTime>
+#include <QString>
+#include "ParseUtils.h"
+#include <logic/MMCJson.h>
+
+QDateTime timeFromS3Time(QString str)
+{
+ return QDateTime::fromString(str, Qt::ISODate);
+}
+
+void parse_timestamp (const QString & raw, QString & save_here, QDateTime & parse_here)
+{
+ save_here = raw;
+ if (save_here.isEmpty())
+ {
+ throw JSONValidationError("The timestamp is empty!");
+ }
+ parse_here = timeFromS3Time(save_here);
+ if (!parse_here.isValid())
+ {
+ throw JSONValidationError("The timestamp not a valid timestamp!");
+ }
+}