文章目录

  • 背景
  • 代码
    • 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. idea设置java scala等代码自动换行
  2. Java后台获取前端传递的日期解析不了
  3. python中单行注释_Python中的单行、多行、中文注释方法
  4. ZooKeeper系列(三)
  5. 解读8大场景下Kunpeng BoostKit 使能套件的最佳能力和实践
  6. ASP.NET MVC 3 Beta初体验之WebGrid
  7. ViewStub基本用法
  8. 软件写注册表设置开机自启动
  9. 点赋网络:淘宝店铺DSR评分具体含义分析
  10. 【玻璃心,碎一地】快来用人工智能技术测测有几个微信好友删除你
  11. 聊一聊为什么在浏览器输入http://localhos8080会出现tomcat后台服务器的界面
  12. 云原生之使用docker部署centos系统测试环境
  13. 盘点 35 个 Apache 顶级项目,我拜服了…
  14. 八十年代曾经的十大经典zz
  15. 对抗机器学习——FGSM经典论文 EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES
  16. ntp网络时间服务器(网络时钟同步)客户端与服务器端设置方法说明
  17. 科学论文写作工具TEX/LaTEX/CTEX
  18. CYGWIN 安装教程
  19. 文件夹加密 隐私加密 就用文件夹加密超级大师
  20. javascript为数字添加千分符

热门文章

  1. Context完全解析(一)什么是Context?
  2. 安全终端模拟软件推荐
  3. 查看Linux服务器内存使用情况
  4. 数据库触发器(TRIGGER)
  5. s3c2440 uda1341声卡驱动与madplay播放器移植
  6. ubuntu 设置默认终端
  7. java static变量何时初始化_Java 静态变量何时初始化?
  8. Otter实现数据库同步
  9. 4个最常见的线下涨粉方式,没听过说明你out了!
  10. 剑指offer——数据流中的中位数