文章目录

  • 背景
  • 代码
    • 1. `datetime`如何转换成日期字符串
    • 2. 日期字符串如何转换成`datetime`

背景

我们在平常写代码的过程中最常遇到的就是形如2021-05-12,2021/05/21等的文本字符串,这两串还算是比较规范的写法,不规范的甚至还有2021-5-12,2021.5.12五花八门,只有想不到,没有写不出来,让人甚是头疼.这一篇会简单介绍

  1. datetime如何转换成日期字符串
  2. 日期字符串如何转换成datetime

代码

1. datetime如何转换成日期字符串

有一定python经验的人都知道,datetime.datetime是python的一个类,一般通过isinstance函数来判断

>>> import datetime
>>> now = datetime.datetime.now() # 当前时间
>>> isinstance(now,datetime.datetime)
True

我在将列表或数组写到文件中的时候,就经常会因为遇到这种类型且没有进行转换而报错

现在在上一份代码的基础上,将datetime转换成我们常见的日期字符串,以进行写入或者其他展示操作

>>> date = now.strftime('%Y-%m-%d')
>>> date
'2021-05-12'

我理解strftime是str from time的缩写,表示将日期时间转换为文本.在转换的时候,对应格式化字符如下表(大小写敏感)

字符 含义 举例
%Y 2021
%m 05
%d 12
%H 小时 20
%M 分钟 45
%S 秒钟 34

如果转换成日期时间,完整的写法如下

>>> import datetime
>>> now = datetime.datetime.now()
>>> time = now.strftime('%Y-%m-%d %H:%M:%S')
>>> time
'2021-05-12 20:45:34'

2. 日期字符串如何转换成datetime

一般从别处获取到的日期数据,都是文本格式存储的

>>> import datetime
>>> date = '2021-05-12'
>>> dt = datetime.datetime.strptime(date,'%Y-%m-%d')
>>> dt
datetime.datetime(2021,5,12,0,0)

strptime我理解是 str parse time,意即将文本转换成标准的日期时间的格式.当然这个函数还不够简化,因为它需要你告诉它日期时间的格式

如果需要再将datetime转换成时间戳timestamp格式,可以参见我之前的文章

Python中timestamp和日期时间的转换

补充个知识点,parsejavaScript里面非常常见,例如强制转换类型的函数parseInt,parseFloat,例如解析json的函数是JSON.parse()

python中日期字符串与datetime类型的相互转换相关推荐

  1. [转载] Python中int类型和string类型的相互转换

    参考链接: Python类型转换和类型转换 1.字符串转换成int a = '10' int(a) //十进制string转化为int, 10int(a, 16) //十六进制string转化为int ...

  2. python中time模块和datetime模块

    python中time模块和datetime模块 ** time总结** 一.时间的表示 1.时间戳时间 是从伦敦的1970年1月1日 0点0分0秒开始的(与北京时间相差8个小时:1980.1.1.8 ...

  3. python时间日期字符串各种

    python时间日期字符串各种 python时间日期字符串各种 第一种 字符串转换成各种日期 time 库 # -*- coding: utf-8 -*- import time, datetime ...

  4. python中日期和时间格式化输出的方法

    1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" #将其转换为时间数组 import time timeArray = time.strp ...

  5. [转载] python中日期和时间格式化输出的方法

    参考链接: Python程序将时间从12小时转换为24小时格式 1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" #将其转换为时间数组 i ...

  6. 超详细的Python中的字符串常识【赶紧收藏】

    今天我们说说字符串类型,涉及很多基础知识,不过字符串还是需要在多讲讲的. 回顾一下:字符串与长字符串 Python非常简单,并没有专门分出一个char(Character)类型(搞过C/Java的同学 ...

  7. 如何在Python中获取字符串的子字符串?

    有没有一种方法可以在Python中为字符串加上字符串,以从第三个字符到字符串的末尾获取新的字符串? 也许像myString[2:end] ? 如果离开第二部分意味着"直到最后",而 ...

  8. python写错了怎么更改-Python中修改字符串的四种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...

  9. Python中修改字符串的四种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...

最新文章

  1. C# winform treeview node添加右键菜单并选中节点
  2. Html报表用Excel打开保持表格线【Html报表模板】
  3. faiss(1):简介 安装 与 原理
  4. palapa php,有什么办法可以在Android上运行PHP
  5. 【NOI2020】命运【树形dp】【线段树合并】
  6. 电力电子单相交流调压电路实验,江南大学物联网工程学院,实验报告
  7. flink sql udf jar包_Flink 生态:一个案例快速上手 PyFlink
  8. BugkuCTF-MISC题简单套娃
  9. 怎么切换java版本吗_Java切换JDK版本的方法及技巧
  10. 服务器是通用计算机吗,服务器与台式计算机不同吗?有何区别?
  11. 为啥OpenStack厂商要参加双态运维大会?
  12. PS2019 常用快捷键大全
  13. matlab收益率,债券价格与收益率的Matlab实现(10页)-原创力文档
  14. 各种激活函数求导公式
  15. Tier1 OEM ODM 区别
  16. 笔记本加装固态和内存条教程(超详细)
  17. jbox弹窗_Ztree结合jbox实现弹窗树结构
  18. ArrayList和LinkedList常用方法演示与解析
  19. 紫书 统计字符1的个数
  20. 教程篇 | 史上最简单也最全新手Revit教程

热门文章

  1. 各路由协议的协议号_协议号和端口号大全
  2. Media Foundation架构简介
  3. MC9S12G128模块化分层化软件架构之十——TaskSchedule任务调度
  4. 《例说51单片机(C语言版)(第3版)》——1-5 MCS-51的开发流程与工具
  5. Matplotlib绘图快速入门
  6. 自旋锁原理及其应用场景
  7. 用python写一个语音转文字的代码
  8. ETL数据交换平台,支持多种实时数据流接入
  9. 消费电子低迷,苹果自救?
  10. 服务器怎么在手机操作系统,手机可以操作云服务器吗