aboutsummaryrefslogtreecommitdiff
path: root/python/pyspark/sql/types.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/pyspark/sql/types.py')
-rw-r--r--python/pyspark/sql/types.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/python/pyspark/sql/types.py b/python/pyspark/sql/types.py
index 94e581a783..f84d08d709 100644
--- a/python/pyspark/sql/types.py
+++ b/python/pyspark/sql/types.py
@@ -1290,8 +1290,11 @@ class DatetimeConverter(object):
def convert(self, obj, gateway_client):
Timestamp = JavaClass("java.sql.Timestamp", gateway_client)
- return Timestamp(int(time.mktime(obj.timetuple())) * 1000 + obj.microsecond // 1000)
-
+ seconds = (calendar.timegm(obj.utctimetuple()) if obj.tzinfo
+ else time.mktime(obj.timetuple()))
+ t = Timestamp(int(seconds) * 1000)
+ t.setNanos(obj.microsecond * 1000)
+ return t
# datetime is a subclass of date, we should register DatetimeConverter first
register_input_converter(DatetimeConverter())