Source code for pyquickhelper.loghelper.convert_helper

# -*- coding: utf-8 -*-
"""
Various functions about conversions.


:githublink:`%|py|6`
"""
import datetime


[docs]def str2datetime(dt, format=None): """ convert a string into a datetime object, it can be: - 2013-05-24 18:49:46 - 2013-05-24 18:49:46.568 :param dt: string :param format: format for the conversion, the most complete one is ``%Y-%m-%d %H:%M:%S.%f`` which you get by default :rtype: datetime :return: datetime :githublink:`%|py|21` """ if "+" in dt: dt = dt.split("+")[0].strip() elif " -" in dt: dt = dt.split(" -")[0].strip() if format is None: if " " in dt: if "." in dt: return datetime.datetime.strptime(dt, "%Y-%m-%d %H:%M:%S.%f") else: return datetime.datetime.strptime(dt, "%Y-%m-%d %H:%M:%S") elif "T" in dt: if "." in dt: return datetime.datetime.strptime(dt, "%Y-%m-%dT%H:%M:%S.%f") else: return datetime.datetime.strptime(dt, "%Y-%m-%dT%H:%M:%S") else: return datetime.datetime.strptime(dt, "%Y-%m-%d") else: return datetime.datetime.strptime(dt, format)
[docs]def datetime2str(dt): """ Converts a datetime into a string. :param dt: datetime :return: string :githublink:`%|py|49` """ return dt.strftime("%Y-%m-%d %H:%M:%S")
[docs]def timestamp_to_datetime(timestamp): """ convert a timestamp into a datetime :param timestamp: timestamp :rtype: datetime :githublink:`%|py|58` """ return datetime.datetime.utcfromtimestamp(timestamp)