python中两个字符串日期如何相减,并利用apply()处理df自定义函数

# -*- coding: utf-8 -*-
"""
Created on Mon Apr 12 14:04:48 2021
@author: wuxian
"""
from datetime import datetime

def date_diff(start_date,end_date):
    format_pattern = "%Y-%m-%d"
    # 将 'str' 时间通过格式化模式转化为 'datetime.datetime' 时间戳, 然后再进行比较
    difference = (datetime.strptime(end_date, format_pattern) - datetime.strptime(start_date, format_pattern))
    return difference.days

date_diff('2021-03-01','2021-04-09')

df['days'] = df.apply(lambda x:date_diff(x['start_date'],x['end_date']),axis=1)

关于时间的一些函数用法


import time
import datetime
w = 42912 #数值型日期
a = datetime(1900, 1, 1) + datetime.timedelta(days=w-1) 
a = datetime.date.today()
#数值型日期转成日期时间对象格式---------------------------------------1type(a) #datetime.datetime datetime.datetime(2017, 6, 27, 0, 0)

# 将 'datetime.datetime' 类型时间通过格式化模式转换为 'str' 时间
b = datetime.strftime(a, "%Y-%m-%d") 
#日期时间对象格式转成字符串=-----------------------------------------2type(b) #str '2017-06-27'

c = time.strptime(b, "%Y-%m-%d")
#将字符串格式转成时间类型 --------------------------------------------3)
#time.struct_time(tm_year=2017, tm_mon=6, tm_mday=27,
#tm_hour=0, tm_min=0,tm_sec=0, tm_wday=1, tm_yday=178, tm_isdst=-1)

year, month, day = c[:3] # (2017, 6, 27)


import datetime
update_time=1563509092
a = datetime.datetime.fromtimestamp(update_time)#-------------4)
b = datetime.datetime.strftime(a, "%Y-%m-%d") #---------------2
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值