time

1.pd.to_datetime('13000101', format='%Y%m%d')

2.时区

auth_user['date_joined'] = auth_user['date_joined'].apply(lambda x: pd.Timestamp(x, tz='Asia/Shanghai'))

3.arrow模块

import arrow
one = b['timestamp'][41080]
two = arrow.get(one)
three = two.format('YYYY-MM-DD HH:mm:ss')

4.转换

# string转datetime
str = '2012-11-19'
date_time = datetime.datetime.strptime(str,'%Y-%m-%d')
date_time

# datetime转string
date_time.strftime('%Y-%m-%d')

# datetime转时间戳
time_time = time.mktime(date_time.timetuple())

# 时间戳转string
time.strftime('%Y-%m-%d',time.localtime(time_time))
# date转datetime
date = datetime.date.today()
print(date)
datetime.date(2012,11,19)  # 只有date,这个好
datetime.datetime.strptime(str(date),'%Y-%m-%d') #将date转换为str,在由str转换为datetime
  1. 生成日期列表、改变周的周期、生成周日期范围
def get_week_date():
    # 生成日期列表
    def datelist(beginData, endDate):
        date_l = [datetime.strftime(x, '%Y-%m-%d') for x in list(pd.date_range(start=beginData, end=endDate))]
        return date_l

    date = datelist(str(nowyear) + '-01-01', str(nowyear) + '-12-31')
    date = pd.DataFrame(date, columns=['day'])
    date['day'] = pd.to_datetime(date.day)

    # 默认的week周期是从周一到周日,这里生成周日到周六为周期的周
    date['week'] = date['day'].apply(lambda x: x.isocalendar()[1] + 1 if x.isocalendar()[2] == 7 else x.isocalendar()[1])
    date.loc[date['day'] == pd.to_datetime('2017-01-01'), 'week'] = 1

    # 生成周对应的日期范围
    week_list = list(set(date.week))
    week_day = date.set_index(['week'])

    w = []
    for each in week_list:
        var = week_day[week_day.index == each]
        if len(var) == 7:
            t = str(var.iloc[0, 0])[5:10] + '~' + str(var.iloc[-1, 0])[5:10]
            w_eek = list(var.index)[0]
            w.append([w_eek, t])
        else:
            pass

    w_date = pd.DataFrame(w).rename(columns={0: 'week', 1: 'w_date'})
    return w_date
  1. strftime

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

你可能感兴趣的:(time)