Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# -*- coding: utf-8 -*- 

2""" 

3@file 

4@brief Various functions about conversions. 

5""" 

6import datetime 

7 

8 

9def str2datetime(dt, format=None): 

10 """ 

11 convert a string into a datetime object, it can be: 

12 - 2013-05-24 18:49:46 

13 - 2013-05-24 18:49:46.568 

14 

15 @param dt string 

16 @param format format for the conversion, the most complete one is 

17 ``%Y-%m-%d %H:%M:%S.%f`` 

18 which you get by default 

19 @rtype datetime 

20 @return datetime 

21 """ 

22 if "+" in dt: 

23 dt = dt.split("+")[0].strip() 

24 elif " -" in dt: 

25 dt = dt.split(" -")[0].strip() 

26 if format is None: 

27 if " " in dt: 

28 if "." in dt: 

29 return datetime.datetime.strptime(dt, "%Y-%m-%d %H:%M:%S.%f") 

30 else: 

31 return datetime.datetime.strptime(dt, "%Y-%m-%d %H:%M:%S") 

32 elif "T" in dt: 

33 if "." in dt: 

34 return datetime.datetime.strptime(dt, "%Y-%m-%dT%H:%M:%S.%f") 

35 else: 

36 return datetime.datetime.strptime(dt, "%Y-%m-%dT%H:%M:%S") 

37 else: 

38 return datetime.datetime.strptime(dt, "%Y-%m-%d") 

39 else: 

40 return datetime.datetime.strptime(dt, format) 

41 

42 

43def datetime2str(dt): 

44 """ 

45 Converts a datetime into a string. 

46 

47 @param dt datetime 

48 @return string 

49 """ 

50 return dt.strftime("%Y-%m-%d %H:%M:%S") 

51 

52 

53def timestamp_to_datetime(timestamp): 

54 """ 

55 convert a timestamp into a datetime 

56 @param timestamp timestamp 

57 @rtype datetime 

58 """ 

59 return datetime.datetime.utcfromtimestamp(timestamp)