1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-17 07:41:26 +00:00
Files
seahub/seahub/utils/time.py
2014-01-02 11:26:00 +08:00

30 lines
897 B
Python

import datetime
from django.conf import settings
from django.utils import six
from django.utils import timezone
def dt(value):
"""Convert 32/64 bits timestamp to datetime object.
"""
try:
return datetime.datetime.utcfromtimestamp(value)
except ValueError:
# TODO: need a better way to handle 64 bits timestamp.
return datetime.datetime.utcfromtimestamp(value/1000000)
def value_to_db_datetime(value):
if value is None:
return None
# MySQL doesn't support tz-aware datetimes
if timezone.is_aware(value):
if settings.USE_TZ:
value = value.astimezone(timezone.utc).replace(tzinfo=None)
else:
raise ValueError("MySQL backend does not support timezone-aware datetimes when USE_TZ is False.")
# MySQL doesn't support microseconds
return six.text_type(value.replace(microsecond=0))