当前位置: 首页 > news >正文

【python 基础篇 九】python的常用数据类型操作-------时间日历

目录

      • 1.python时间操作
        • 1.1 time模块
        • 1.2 calendar模块
        • 1.3 datetime模块

1.python时间操作

python程序能用很多方式处理日期和时间,转换日期格式也是一个常见功能。

1.1 time模块

​ 提供了处理时间和表示之间转换的功能

  • 获取当前时间戳
    • 概念:从0时区的1970年1月1日0时0分0秒,到所给定日期的秒数。是一个浮点数
    • 获取方式
      • import time time.time()
import time
result = time.time()
print(result)#输出 1670570274.2948563
years = result/(24*60*60*365)+1970
print(years)#输出 2022.9734358921505
  • 获取时间元组

    • 概念:很多python时间函数将时间处理为9个数字的元组

    • 序号含义属性
      04位数的年tm_yearxxxx
      1tm_mon1-12
      2tm_mday1-31
      3小时tm_hour0-23
      4分钟tm_min0-59
      5tm_sec0-60
      6一周的第几日tm_wday0-6
      7一年的第几日tm_yday1-366
      8夏令日tm_isdst-1 0 1 -1是决定为是否为夏令时的标志
    • 获取方式

      • import time time.localtime([seconds])
      • seconds为时间戳,默认值为当前时间戳,也可以指定时间戳
import time
result = time.time()
print(result)#输出 1670570703.946
t1 = time.localtime()
print(t1)#输出 time.struct_time(tm_year=2022, tm_mon=12, tm_mday=9, tm_hour=15, tm_min=25, tm_sec=3, tm_wday=4, tm_yday=343, tm_isdst=0)
  • 获取格式化的时间
    • 秒 ------> 可读时间
      • import time time.ctime(seconds)
        • seconds为时间戳,当省略的时候,默认值为当前时间戳,也可以指定时间戳
    • 时间元组 -------->可读时间
      • import time time.asctime(p_tuple)
        • p_tuple为时间元组,当省略的时候,默认值为当前的时间元组,也可以指定时间元组
import time
#秒 ------> 可读时间
t = time.time()#获取时间戳
print(t)#输出1670571316.991758
result1 = time.ctime(t)#把时间戳转换为可读时间
print(result1)#输出Fri Dec  9 15:35:16 2022
print(time.ctime())#直接 输出 Fri Dec  9 15:35:17 2022#时间元组 -------->可读时间
t1 = time.localtime()#获取时间元组
print(t1)#输出time.struct_time(tm_year=2022, tm_mon=12, tm_mday=9, tm_hour=15, tm_min=35, tm_sec=17, tm_wday=4, tm_yday=343, tm_isdst=0)
result2 = time.asctime(t1)#把时间元组转换成可读时间
print(result2)#输出Fri Dec  9 15:35:17 2022
print(time.asctime())#直接 输出Fri Dec  9 15:35:17 2022
  • 格式化日期字符串<------>时间戳

    • 时间元组 ---->格式化日期

      • time.strftime(格式字符串,时间元组)
    • 格式化日期 ---->时间元组

      • time.strptime(日期字符串,格式符字符串)
      • time.mktime(时间元组)
    • 常用格式符

      • 符号意义
        %Y四位数表示年(000-9999)
        %y两位数表示年(00-99)
        %m月份(01-12)
        %d月内的一天(0-31)
        %H24小时制(0-23)
        %I12小时制(01-12)
        %M分钟数(00-59)
        %S秒(00-59)
import time#时间元组 ---->格式化日期
result = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
print(result)#输出 2022-12-09 15:45:06#格式化日期 ---->时间元组
pt = time.strptime("2022-12-09 12:00:00","%Y-%m-%d %H:%M:%S")
print(pt)#输出 time.struct_time(tm_year=2022, tm_mon=12, tm_mday=9, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=343, tm_isdst=-1)#时间元组转变为时间戳
t = time.mktime(pt)
print(t)#输出1670558400.0
  • 获取当前CPU时间
    • time.perf_counter() 返回值为浮点数
    • 可以用来统计一段程序代码的执行耗时、
import time
start = time.perf_counter()#获取当前CPU时间#运行程序
end = time.perf_counter()#获取程序运行后的CPU时间
print(end - start)#输出程序运行时间 单位是秒
  • 休眠n秒
    • 推迟线程的执行,可简单理解为,让程序暂停
    • time.sleep(secs)
      • secs睡眠的秒数

1.2 calendar模块

提供与日历相关的功能,比如:为给定的月份或者年份打印文本日历的功能

  • 获取某月日历
    • import calendar caledar.month(2017,9)
import calendar 
print(caledar.month(2022,12))#输出文本日历 输出如下
"""
December 2022
Mo Tu We Th Fr Sa Su1  2  3  45  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
"""

1.3 datetime模块

python处理日期和时间的标准库:这个模块里面有datetime类,此外还有date类,以及time类,可以做一些计算机之类的操作。

  • 获取当天日期

    • import datetime
    • print(datetime.datetime.now())
    • print(datetime.datetime.today())
  • 单独获取当前的年月日时分秒

  • 计算n天之后的日期

  • 获取两个日期时间的时间差

import datetime
#获取当天日期
print(datetime.datetime.now())#输出 2022-12-09 16:13:35.778311
print(datetime.datetime.today())#输出 2022-12-09 16:13:35.778311#单独获取当前的年月日时分秒
t = datetime.datetime.today()#获取当前时间
print(t)#2022-12-09 16:17:41.539885
print(t.year)#2022
print(t.month)#12
print(t.day)#9
print(t.hour)#16
print(t.minute)#17
print(t.second)#41#计算n天之后的日期
t = datetime.datetime.today()#获取当前时间
print(t)#2022-12-09 16:21:45.179556
result1 = t + datetime.timedelta(days=7)
print(result)#2022-12-16 16:21:45.179556
result2 = t + datetime.timedelta(days=7,hours=2)
print(result2)#2022-12-16 18:21:45.179556#获取两个日期时间的时间差
first = datetime.datetime(2022,12,9,14,00,00)
print(first,type(first))#2022-12-05 14:00:00 <class 'datetime.datetime'>
second = datetime.datetime(2022,8,13,18,40,25)
delta = first - second
print(delta,type(delta))#117 days, 19:19:35 <class 'datetime.timedelta'>

相关文章:

【python 基础篇 九】python的常用数据类型操作-------时间日历

目录1.python时间操作1.1 time模块1.2 calendar模块1.3 datetime模块1.python时间操作 python程序能用很多方式处理日期和时间&#xff0c;转换日期格式也是一个常见功能。 1.1 time模块 ​ 提供了处理时间和表示之间转换的功能 获取当前时间戳 概念&#xff1a;从0时区的1…...

华为OD机试真题Python实现【相同字符连续出现的最大次数】真题+解题思路+代码(20222023)

相同字符连续出现的最大次数 题目 输入一串字符串 字符串长度不超过100 查找字符串中相同字符连续出现的最大次数 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 ## 输入 输入只有一行,包含一个长度不超过100的字符串 输出描述 输出只…...

【Unity3D】空间和变换

1 空间 1.1 左右手坐标系及其法则 1.1.1 左右手坐标系 左手坐标系与右手坐标系Unity 局部空间、世界空间、裁剪空间、屏幕空间都采用左手坐标系&#xff0c;只有观察空间采用右手坐标系。 左右手坐标系除了坐标系朝向&#xff08;旋向性&#xff09;不同&#xff0c;还存在以…...

脑洞|ChatGPT加持下,ChatOps将如何革新团队协作与运维管理?

要说近期科技圈 “顶流”&#xff0c;非 ChatGPT 莫属。 比起目前常见的语音助手与聊天 bot&#xff0c;这位机器人显得更有 “人味儿”&#xff0c;不仅能模拟人类的语气&#xff0c;跟你聊得有来有回&#xff0c;还能写剧本、编音乐、写代码。 说到聊天工具&#xff0c;就让…...

华为OD机试真题Python实现【找数字】真题+解题思路+代码(20222023)

找数字 题目 给一个二维数组nums,对于每一个元素num[i],找出距离最近的且值相等的元素,输出横纵坐标差值的绝对值之和,如果没有等值元素,则输出-1。 例如: 输入数组nums为 0 3 5 4 2 2 5 7 8 3 2 5 4 2 4对于 num[0][0] = 0,不存在相等的值。 对于 num[0][1] = 3,存…...

【Database-01】达梦数据库Docker版下载安装

1、前往达梦数据库官网下载 https://www.dameng.com/1.1、选择数据库 - 数据库产品系 1.2、选择 达梦数据库管理系统&#xff08;DM8&#xff09; 1.3、点击试用下载 1.4、注册达梦账户 1.5、选择DM8 Docker镜像 https://www.dameng.com/list_103.html1.6、或者使用以下网址也…...

Allegro如何打开格点显示效果操作指导

Allegro如何打开格点显示效果操作指导 Allegro可以设置格点显示效果,以格点来判定走线等等是否都处于格点上,如下图 如何打开格点显示效果,具体操作如下 点击Setup点击Grids...

电子技术——反馈放大器的分析方法总结

电子技术——反馈放大器的分析方法总结 第一种也是最简单的估算方法&#xff0c;直接拿出反馈网络&#xff0c;计算 β\betaβ 则假设在 AβA\betaAβ 无限大的情况下有 Af≃1/βA_f \simeq 1/\betaAf​≃1/β 。开环法。比第一种方法更能精确的估计 AAA 和 β\betaβ 的值。系…...

微服务系统启动,环境从0开始的搭建过程

1. JDK的下载安装&#xff08;傻瓜式&#xff09; 安装过程傻瓜式&#xff0c;直接一步到位。我安装的版本为&#xff1a;jdk-17_windows-x64_bin 2. 集成开发工具的下载安装&#xff1a;IDEA&#xff08;傻瓜式&#xff09; ideaIU-2021.2.1 网上资源很多&#xff0c;自己找…...

手工测试1年经验面试,张口要13K,我真是服了····

由于朋友临时有事&#xff0c; 所以今天我代替朋友进行一次面试&#xff0c;他需要应聘一个测试工程师&#xff0c; 我以很认真负责的态度完成这个过程&#xff0c; 大概近30分钟。 主要是技术面试&#xff0c; 在近30分钟内&#xff0c; 我与被面试者是以交流学习的方式进行的…...

【保姆级】手把手捋动态代理流程(JDK+Cglib超详细源码分析)

简介动态代理&#xff0c;通俗点说就是&#xff1a;无需声明式的创建java代理类&#xff0c;而是在运行过程中生成"虚拟"的代理类&#xff0c;被ClassLoader加载。 从而避免了静态代理那样需要声明大量的代理类。上面的简介中提到了两个关键的名词&#xff1a;“静态…...

Appium自动化测试 Inspector定位Webview/H5页面元素

目录操作步骤Python操作该混合App代码Appium在操作混合App或Android App的H5页面时, 常常需要定位H5页面中的元素, 传统方式是 FQ 使用Chrome://inspect来定位元素, 环境准备相当繁琐, 不仅需要想办法FQ, 而且还需要Android设备安装Google框架以及手机版Chrome浏览器以及相应的…...

数组求和方法总结,学点干货

1.循环 &#xff08;新手用&#xff09; 1.1 普通for 循环 简单质朴 const arr [1, 2, 3, 4, 5];let sum 0;for (let i 0; i < arr.length; i) {sum arr[i];}1.2 for in 循环 与普通for循环大同小异 const arr [1, 2, 3, 4, 5];let sum 0;for (let i in arr) {sum …...

斗地主洗牌发牌-课后程序(JAVA基础案例教程-黑马程序员编著-第六章-课后作业)

【案例6-4】 斗地主洗牌发牌 【案例介绍】 1.任务描述 扑克牌游戏“斗地主”&#xff0c;相信许多人都会玩&#xff0c;本案例要求编写一个斗地主的洗牌发牌程序&#xff0c;要求按照斗地主的规则完成洗牌发牌的过程。一副扑克总共有54张牌&#xff0c;牌面由花色和数字组成…...

基于antd封装的二次业务筛选组件-table-filter

文档地址&#xff1a;https://flowerofsummer.github.io/components/ 业务筛选组件 支持各种类型的高级搜索组件 基础用法 组件响应式布局&#xff0c;默认显示两行&#xff0c;可以通过 maxLineCount 配置最多显示行数每行个数&#xff1a; 如果含有 time-range&#xff0…...

逆向-还原代码之max 再画堆栈图 (Interl 64)

// source code #include <stdio.h> void max(int * a, int * b) { if (*a < *b) *a *b; } int main() { int a 5, b 6; max(&a, &b); printf("a, b max %d\n", a); return 0; } // 再画堆栈图 下周一&#xff08;2.27…...

GitHub标星30K+的Java面试八股文长啥样?

2023年的互联网行业竞争越来越严峻&#xff0c;面试也是越来越难&#xff0c;一直以来我都想整理一套完美的面试宝典&#xff0c;奈何难抽出时间&#xff0c;这套1000道的Java面试手册我整理了整整1个月&#xff0c;上传到Git上目前star数达到了30K 一、32 道 MySQL 面试题 1&…...

CVE-2022-39197 POC(CobaltStrike XSS <=4.7)漏洞复现

漏洞说明 根据9.20日CobaltStrike官方发布的最新4.7.1版本的更新日志中介绍&#xff0c;<4.7的teamserver版本存在XSS漏洞&#xff0c;从而可以造成RCE远程代码执行 一位名为“Beichendream”的独立研究人员联系我们&#xff0c;告知我们他们在团队服务器中发现的一个 XSS …...

我们来说说蹿红的AIGC到底是什么?ChatGPT又是什么?

近期&#xff0c;人工智能&#xff08;AI&#xff09;领域动作频频&#xff0c;OPENAI公司Chat GPT的出现&#xff0c;标志着人工智能的研究与应用已经进入了一个崭新的发展阶段&#xff0c;国内腾讯、阿里巴巴、百度、易网、国外微软、谷歌、苹果、IBM、Amazon&#xff0c;等互…...

新手如何从零开始搭建配置Windows云服务器?

新手如何从零开始搭建配置Windows云服务器&#xff1f;本文是搭建 Windows 云服务器入门教程&#xff0c;主要介绍如何从零开始&#xff0c;以最简单的方式搭建和配置你的Windows 云服务器。如果您之前没有搭建云服务器的经验&#xff0c;建议您按照本文介绍的方式来购买和配置…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...