cqwcns 发表于 2020-11-26 15:27

python格式化自定义的日期时间

python会先从EXCEL表中取出一个日期时间,打印出来可知格式是这样的:2020-11-24 09:10:41.000001
我希望把这个格式化转换为2020-11-24这种格式,应该怎么写?谢谢。



    print("EXCEL表时间", tupFormColumnAU.value)
    print(datetime.datetime.strptime(tupFormColumnAU.value, "%Y-%m-%d"))

归隐小赵 发表于 2020-11-26 15:36

本帖最后由 归隐小赵 于 2020-11-26 15:37 编辑

time_temp=xxxxxx.split('.')
最无脑的办法,用.分割,取前面的字符

print("EXCEL表时间", tupFormColumnAU.value)
print(tupFormColumnAU.value.split('.'))

Qnly_genius 发表于 2020-11-26 15:38

strptime() 第一个参数要求是字符串,用str()转换成字符串就行str(tupFormColumnAU.value)

print(datetime.datetime.strptime(str(tupFormColumnAU.value), "%Y-%m-%d"))

细水流长 发表于 2020-11-26 15:40

cqwcns 发表于 2020-11-26 15:44

细水流长 发表于 2020-11-26 15:40
time = datetime.now().strftime('%Y-%m-%d')

个人感觉这个简单一些,测试可用,谢谢各位交流,学习了。

kaka0000 发表于 2020-11-26 16:26

能格式化的最好格式化,不到格式化解决不了的时候,尽量不要用截取

rsnodame 发表于 2020-11-30 14:12

我觉得用分割挺好,如果一定要通过格式互换的话,参考
https://docs.python.org/3.6/library/datetime.html#strftime-strptime-behavior

sample = '2020-11-24 09:10:41.000001' # tupFormColumnAU.value
datetime_obj = datetime.datetime.strptime(sample,'%Y-%m-%d %H:%M:%S.%f') # 从字符串转换成datetime对象datetime.datetime(2020, 11, 24, 9, 10, 41, 1)
date_str = datetime_obj.strftime('%Y-%m-%d') # 转换成字符串'2020-11-24'
页: [1]
查看完整版本: python格式化自定义的日期时间