Skip to content

Commit 5f2e9a4

Browse files
author
Mike Kistler
committed
Machinery for parsing/serializing datetimes
1 parent d794a54 commit 5f2e9a4

2 files changed

Lines changed: 19 additions & 0 deletions

File tree

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ requests>=2.0,<3.0
22
pysolr>=3.3,<4.0
33
argparse>=1.3.0
44
pyOpenSSL>=16.2.0
5+
python_dateutil >= 2.5.3

watson_developer_cloud/watson_service.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import requests
1818
import sys
1919
from requests.structures import CaseInsensitiveDict
20+
import dateutil.parser as date_parser
2021

2122
try:
2223
from http.cookiejar import CookieJar # Python 3
@@ -73,6 +74,23 @@ def __str__(self):
7374
class WatsonInvalidArgument(WatsonException):
7475
pass
7576

77+
def datetime_to_string(datetime):
78+
"""
79+
Serializes a datetime to a string.
80+
:param datetime: datetime value
81+
:return: string. containing iso8601 format date string
82+
"""
83+
return datetime.isoformat().replace('+00:00', 'Z')
84+
85+
86+
def string_to_datetime(string):
87+
"""
88+
Deserializes string to datetime.
89+
:param string: string containing datetime in iso8601 format
90+
:return: datetime.
91+
"""
92+
return date_parser.parse(string)
93+
7694

7795
def _cleanup_param_value(value):
7896
if isinstance(value, bool):

0 commit comments

Comments
 (0)