about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/isodate/isodatetime.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/isodate/isodatetime.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/isodate/isodatetime.py')
-rw-r--r--.venv/lib/python3.12/site-packages/isodate/isodatetime.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/isodate/isodatetime.py b/.venv/lib/python3.12/site-packages/isodate/isodatetime.py
new file mode 100644
index 00000000..1b208053
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/isodate/isodatetime.py
@@ -0,0 +1,45 @@
+"""
+This module defines a method to parse an ISO 8601:2004 date time string.
+
+For this job it uses the parse_date and parse_time methods defined in date
+and time module.
+"""
+
+from datetime import datetime
+
+from isodate.isodates import parse_date
+from isodate.isoerror import ISO8601Error
+from isodate.isostrf import DATE_EXT_COMPLETE, TIME_EXT_COMPLETE, TZ_EXT, strftime
+from isodate.isotime import parse_time
+
+
+def parse_datetime(datetimestring):
+    """
+    Parses ISO 8601 date-times into datetime.datetime objects.
+
+    This function uses parse_date and parse_time to do the job, so it allows
+    more combinations of date and time representations, than the actual
+    ISO 8601:2004 standard allows.
+    """
+    try:
+        datestring, timestring = datetimestring.split("T")
+    except ValueError:
+        raise ISO8601Error(
+            "ISO 8601 time designator 'T' missing. Unable to"
+            " parse datetime string %r" % datetimestring
+        )
+    tmpdate = parse_date(datestring)
+    tmptime = parse_time(timestring)
+    return datetime.combine(tmpdate, tmptime)
+
+
+def datetime_isoformat(
+    tdt, format=DATE_EXT_COMPLETE + "T" + TIME_EXT_COMPLETE + TZ_EXT
+):
+    """
+    Format datetime strings.
+
+    This method is just a wrapper around isodate.isostrf.strftime and uses
+    Extended-Complete as default format.
+    """
+    return strftime(tdt, format)