python输入时间的格式_Python时间格式转换问题,时间和日期时间库使用!,python,time,及,datetime,的…

python输入时间的格式_Python时间格式转换问题,时间和日期时间库使用!,python,time,及,datetime,的…在数据处理中经常会遇到时间格式转换问题 有时我们拿到的是时间戳 一连串数字 需要把它转化固定的时间格式 又或者给的时间格式不理想 只需要其中中的年 月 日 就需要把多余部分给去掉 1 概念了解这篇文章主要介绍一下 python 中时间转换问题 用到的库 time 和 datetime 对于 time 来说 使用到的函数主要有四个 strptime strftime localtime mk

在数据处理中经常会遇到 时间格式转换 问题,有时我们拿到的是时间戳(一连串数字),需要把它转化固定的时间格式;又或者给的时间格式不理想,只需要其中中的

年、月、日

, 就需要把多余部分给去掉;

format,png

1,概念了解

这篇文章主要介绍一下 python 中 时间转换问题( 用到的库:

time

datetime

),对于

time

来说,使用到的函数主要有四个:

strptime、strftime、localtime、mktime

;时间转换方面需要了解三个概念:

时间戳、时间数组(对象)、时间格式

时间戳

,简单地理解就是有一连续数字可以代表某一刻的时间,例如

这一串数字代表的就是

2020/2/19 0:38:30

一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间

——来源于百度百科

时间数组

:是具有结构层次上的时间,数据类型为元组,并不是一个时间字符串;结构如下:

time.struct_time(tm_year=2018, tm_mon=5, tm_mday=2, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=122, tm_isdst=-1)

时间格式

:类似于“2020/01/03 02:20:00” 、“2020-01-03 02:10:00”这样的,是一个字符串。

总的来说,时间类型之间的转换机制如下:

format,png

时间格式与时间戳之间转换,只能通过时间数组(时间对象)来进行,这里的时间数组起到了桥梁的作用。

2,strptime、strftime、localtime、mktime 代码实操

2.1,时间戳转化为时间格式(自定义,例如 “2020/01/02 08:00:00”)

利用

time.time()

函数获取当前时间的时间戳,并利用

time.localtime

将时间戳转化为时间数组;

import time

#获取当前时间的时间戳

start = time.time()

print(start)

#时间戳转化为固定时间格式;

#首先,利用time.localtime将时间戳转化为当地时间;

local_time = time.localtime(start)

print(local_time)

format,png

在用

strftime

将时间数组转化为自己定义的时间格式 ,

strftime

接受两个参数:第一个为所需要的时间格式,第二个是需要转换的时间数组(第二个参数不接受字符串,只接受 时间元组 或

struct_time格式

)

#其次在利用strftime将时间数组转化为时间格式;

#转化为%Y_%m_%d %H:%M:%S

type_time = time.strftime(‘%Y/%m/%d %H:%M:%S’,local_time)

print(type_time)

#输入字符串时

type_time1 = time.strftime(‘%Y/%m/%d %H:%M:%S’,’2020/02/20 00:14:10′)

print(type_time1)

format,png

2.1,自定义时间转化为时间戳

先利用

strptime

将合法时间格式转化为时间数组,再用

mktime

函数转化为时间戳;

同样地、strptime只接受时间合法格式(为一个字符串),不接受其他数据类型;

#将时间字符串转化为时间戳

#利用的函数为 time.mktime 和 time.strptime;

type_time1 = ‘2020-02-03 10:10:00’

#利用time.strptime转化为时间数组;

time_arr = time.strptime(type_time1,’%Y-%m-%d %H:%M:%S’)

print(time_arr)

#利用time.mktime将时间数组转化为时间戳;

time_stamp = time.mktime(time_arr)

print(time_stamp)

#将时间戳传入 strptime 函数中;

time_arr1 = time.strptime(time_stamp,’%Y-%m-%d %H:%M:%S’)

print(time_arr1)

format,png

3,关于 time  和 datetime 交叉应用

python 在时间格式处理方面,除去

time库

之外,还有一个经常用到的库 :

datetime

,计算时间差时,常会用到

datetime.timedelta 函数

,两个简单例子的代码实操如下:

3.1,获取10天之前的日期

import time

import datetime

#time和datetime函数相结合,获取10天前的时间

#timedelta获取十天的时间元组

print(datetime.timedelta(days=10))

print(‘\n’)

#用现在时间前去十天,获取十天前的时间元组

tree_time = (datetime.datetime.now()-datetime.timedelta(days = 10))

print(‘十天前的时间元组为:’)

print(tree_time)

print(‘\n’)

#再转化为时间戳;

time_stamp = int(time.mktime(tree_time.timetuple()))

print(’10天前的时间戳为:’)

print(time_stamp)

print(‘\n’)

#字符串格式转换;

other_style_time = tree_time.strftime(‘%Y/%m%d %H:%M:%S’)

print(’10天前的时间为:’)

print(other_style_time)

print(‘\n’)

format,png

3.1,两个时间点之间相差天数、小时数、秒数

time_1 = ‘2020-02-01 10:23:25’

# 转化time_1格式问题,利用datetime.datetime.strptime时间数组转换

time1_type = datetime.datetime.strptime(str(time_1),’%Y-%m-%d %H:%M:%S’)

time2 = ‘2020-01-23 08:25:00’

time2_type = datetime.datetime.strptime(str(time2),’%Y-%m-%d %H:%M:%S’)

#相减计算天数

print(‘time_1与time2_type相差天数为:\n’)

print((time1_type-time2_type).days)

print(‘\n’)

print(‘time_1与time2_type相差秒数为:\n’)

print((time1_type-time2_type).seconds)

print(‘\n’)

print(‘time_1与time2_type相差小时数为:\n’)

print((time1_type-time2_type).seconds//60)

print(‘\n’)

format,png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218448.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午7:14
下一篇 2026年3月18日 上午7:14


相关推荐

  • kafka topicPartitions问题

    kafka topicPartitions问题当我实现三个消费者去同时消费一个Topic(默认没有分区)消息时,三个消费者同时消费到了同样的消息现象如下:2019-06-1115:30:02.516[org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1]INFOcom.example.kafka.consumer.TestB-==[cousumerC…

    2022年6月26日
    26
  • 手眼标定 matlab源码,经典手眼标定算法matlab

    手眼标定 matlab源码,经典手眼标定算法matlab【实例简介】经典手眼标定算法matlab代码,程序作者为ChristianWengert。工具箱包含的主要算法有Tsai-Lenz算法、NAVY算法(Park)、INRIA算法(Horaud)以及对偶四元数手眼定标算法【实例截图】【核心代码】1cdffffa-57b3-468c-8073-d4f45202c11a└──calib_toolbox_addon├──addDistortion…

    2022年5月12日
    49
  • RTU远程测控终端[通俗易懂]

    RTU远程测控终端[通俗易懂]RTU远程测控终端是一种基于无线网络通信的物联网智能终端设备,测控终端集A/D功能和I/O功能为一体,负责对现场信号、工业设备的监测和控制。RTU远程测控终端输出控制信号,控制继电器输出,从而达到对远

    2022年8月6日
    8
  • Linux五大步安装Python

    Linux五大步安装Python文章目录一 下载 Python 包二 安装依赖环境三 安装 Python3 四 建立 Python3 和 pip3 的软链五 检查是否安装成功点我获取更多教程 面试经验 Python 分享 PS 个人在用的人工智能学习网站推荐给需要的小伙伴 captainai 一 下载 Python 包网上教程大多是通过官方地址进行下载 Python 的 但由于国内网络环境问题 会导致下载很慢 所以这里建议通过国内镜像进行下载例如 淘宝镜像 http npm taobao org mirrors python 大部分版本和

    2026年3月18日
    1
  • json转换成实体类

    json转换成实体类今天同事问我个问题 她需要把字符串的 json 转换成实体类 但是一直报错 主要是实体类当中的内部类需要用静态字段 static 修饰 否则无法访问 以下是报错信息 org codehaus jackson map JsonMappingE Nosuitableco simpletype classcom macxen sp

    2026年3月20日
    1
  • linux iptable设置防火墙

    linux iptable设置防火墙Iptables防火墙规则使用梳理 iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux运维工作中,经常会设置iptables防火墙规则,用来加固服务安全。以下对iptables的规则使用做了总结性梳理:iptables首先需要了解的…

    2022年5月27日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号