Python 一篇文章看懂时间日期对象

目录
  • 一、时间对象time
    • 1.测量运行时间方法
      • ①process_time()
      • ②perf_counter()
      • ③monotonic()
    • 2.函数性能计算器
  • 二、日期对象datetime
    • 1.格式化日期字符串时常用的占位符
    • 2.日期对象
    • 3.日期转字符串
    • 4.字符串转日期
  • 总结

一、时间对象time

time模块使用的是C语言函数库中的函数。只能处理1970/1/1到2038/12/31之间的数据。

1.测量运行时间方法

①process_time()

主要作用就是返回当前进程处理器运行时间

②perf_counter()

返回性能计算器

③monotonic()

返回单项时钟

2.函数性能计算器

使用函数装饰器结合time对象,测试排序算法的性能。

from random import *
import time
# -----------------------装饰器函数用于计时-----------------------#
def timer(func):
    def weapper(*s):
        start=time.perf_counter()
        func(*s)
        end=time.perf_counter()
        print("用时:\t\t",end-start)
    return weapper

# -----------------------生成随机列表-----------------------#
def randomlist():
    return [randint(0,100) for x in range(10)]

# -----------------------冒泡排序-----------------------#
@timer
def sortA():
    lis=randomlist()
    print("随机生成的序列:",lis)
    i=0
    while i<len(lis):
        j=i+1
        while j<len(lis)-i:
            if lis[j]<lis[i]:
               lis[i],lis[j]=lis[j],lis[i]
            j+=1
        i+=1
    print("排序后的序列:\t",lis)

# -----------------------选择排序-----------------------#

@timer
def sortB():
    lis=randomlist()
    print("随机生成的序列:",lis)
    i=0
    while i<len(lis):
        j=0
        while j<len(lis)-1:
            if lis[j]>lis[j+1]:
               lis[j+1],lis[j]=lis[j],lis[j+1]
            j+=1
        i+=1
    print("排序后的序列:\t",lis)

# -----------------------插入排序-----------------------#
'''

    将未排序数列插入左侧已排好队的序列。
    分析需要一个游标记录应该排序的位置,一个临时变量进行应该排序数据的临时保存

'''
@timer
def sortC():
    lis=randomlist()
    print("随机生成的序列:",lis)
    for i in range(1,len(lis)):
        temp = lis[i]
        j=i
        while lis[j-1]>temp:
            lis[j]=lis[j-1]
            j=j-1
            if j==0:
                break
        lis[j]=temp

    print("排序后的序列:\t",lis)
 # -----------------------主函数-----------------------#
def main():
    print("-----------------冒泡排序---------------------")
    sortA()
    print("-----------------选择排序---------------------")
    sortB()
    print("-----------------插入排序---------------------")
    sortC()

if __name__=="__main__":
    main()  

二、日期对象datetime

日期对象在处理字符串与日期对象的时候特别常用。所以呢咱们重点学习一下 Python中的字符串转日期、日期转字符串的方法。

1.格式化日期字符串时常用的占位符

  • %Y Year with century as a decimal number.
  • %m Month as a decimal number [01,12].
  • %d Day of the month as a decimal number [01,31].
  • %H Hour (24-hour clock) as a decimal number [00,23].
  • %M Minute as a decimal number [00,59].
  • %S Second as a decimal number [00,61].
  • %z Time zone offset from UTC.
  • %a Locale's abbreviated weekday name.
  • %A Locale's full weekday name.
  • %b Locale's abbreviated month name.
  • %B Locale's full month name.
  • %c Locale's appropriate date and time representation.
  • %I Hour (12-hour clock) as a decimal number [01,12].
  • %p Locale's equivalent of either AM or PM.

2.日期对象

datetime.date.today() #输出年月日

datetime.datetime.now() #输出年月日时分秒毫秒

可以通过datetime.date.today() 获取到时间对象使用相应的实例方法可以获取到年月日

可以通过datetime.datetime.now()获取到时间对象用相应的实例方法可以获取到年月日时分秒

属性是year(年),month(月)day(日),hour(时),minute(分),second(秒)

st=datetime.datetime.now()

st.year #获取年份

3.日期转字符串

函数strftime()参数为format对象,占位符使用的就是1中提到的那几个。 将日期按照指定格式进行格式化,并返回出来。

代码如下:

import datetime
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

4.字符串转日期

通过的是strptime()参数是一个字符串,还有字符串的格式化(哪里是年哪里是月) eg:

import datetime

str = datetime.strptime(“20200202”,"%Y%m%d")

这里str就是2020年02月02日的日期对象

切记时间对象可以直接比较大小(时间的前后)

总结

主要讲述了Python中日期与时间常用到的一些函数,以及日期格式化为字符串、字符串转换为日期对象。虽然篇幅短小但是非常精悍。对于时间日期对象重点掌握时间差怎么求,怎么处理字符串与日期之间的关系就足够了。其余功能在我们使用的时候再去官方文档上查找。

到此这篇关于Python 一篇文章看懂时间日期对象的文章就介绍到这了,更多相关Python 时间日期对象内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python日期时间对象转换为字符串的实例

    1.标准转换格式符号说明 %a 本地星期的短名称 如:Sun, Mon, ..., Sat (en_US); So, Mo, ..., Sa (de_DE) %A 本地星期全名称 如 :Sunday, Monday, ..., Saturday (en_US);Sonntag, Montag, ..., Samstag (de_DE) %w 星期的数字表示,0表示周日,6表示周六 如:0,1,2,,,6 %d 日的数字表示,并且使用0来填补(0-9),如:01, 02, ..., 31 %b 月

  • 详解python日期时间处理

    目录 开发中常用的日期操作有哪些? 我们看看这两个模块. time 内置模块 calender 内置模块 日期格式化处理 总结 讲了很多数据容器操作,这篇我们看看时间的处理. 开发中常用的日期操作有哪些? 获取当前时间 获取系统秒数(从纪元时间开始) 日期跟秒数之间转换 获取日历等 日期格式化显示输出 这些都非常常见 在python 主要有下面两个模块涵盖了常用日期处理 import time import calender 我们看看这两个模块. time 内置模块 #!/usr/bin/env

  • Python 转换时间戳为指定格式日期

    目录 当前时间 实例1: 实例2: 指定时间戳 实例1: 实例2: 总结 我们将会启用到time库: 当前时间 实例1: import time # 获得当前时间时间戳 now = int(time.time()) #转换为其他日期格式,如:"%Y-%m-%d %H:%M:%S" timeArray = time.localtime(now) otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)

  • Python实现日期判断和加减操作详解

    python实现日期判断和加减操作 #==================================================== #时间相关 #==================================================== def if_workday(day_str, separator=""): """ if a day is workday :param day_str: string of a day :pa

  • Python获取网络时间戳的两种方法详解

    目录 方法一 代码实现 调用方法 返回结果 方法二 代码实现 调用方法 返回结果 在我们进行注册码的有效期验证时,通常使用获取网络时间的方式来进行比对. 以下为获取网络时间的几种方式. 方法一 需要的时间会比较长,个别电脑上可能会出现不兼容现象 代码实现 def get_web_server_time(self, host_URL, year_str='-', time_str=':'): ''' 获取网络时间,需要的时间会比较长,个别电脑上可能会出现不兼容现象 :param host_URL:

  • Python时间和日期库的实现

    在 Python 中是没有原生数据类型支持时间的,日期与时间的操作需要借助三个模块,分别是 time.datetime.calendar. time 模块可以操作 C 语言库中的时间相关函数,时钟时间与处理器运行时间都可以获取. datetime 模块提供了日期与时间的高级接口. calendar 模块为通用日历相关函数,用于创建数周.数月.数年的周期性事件. 在学习之前,还有一些术语要补充一下,这些术语你当成惯例即可.这里在 Python 官方文档中也有相关说明,不过信息比较多,橡皮擦为你摘录

  • Python 一篇文章看懂时间日期对象

    目录 一.时间对象time 1.测量运行时间方法 ①process_time() ②perf_counter() ③monotonic() 2.函数性能计算器 二.日期对象datetime 1.格式化日期字符串时常用的占位符 2.日期对象 3.日期转字符串 4.字符串转日期 总结 一.时间对象time time模块使用的是C语言函数库中的函数.只能处理1970/1/1到2038/12/31之间的数据. 1.测量运行时间方法 ①process_time() 主要作用就是返回当前进程处理器运行时间

  • 一篇文章看懂C#中的协变、逆变

    1. 基本概念 官方:协变和逆变都是术语,前者指能够使用比原始指定的派生类型的派生程度更大(更具体的)的类型,后者指能够使用比原始指定的派生类型的派生程度更小(不太具体的)的类型.[MSDN] 公式: 协变:IFoo<父类> = IFoo<子类>: 逆变:IBar<子类> =  IBar<父类>: 暂时不理解没关系,您接着往下看. 2. 协变(Covariance) 1) out关键字 对于泛型类型参数,out 关键字可指定类型参数是协变的. 可以在泛型接口

  • python 一篇文章搞懂装饰器所有用法(建议收藏)

    01. 装饰器语法糖 如果你接触 Python 有一段时间了的话,想必你对 @ 符号一定不陌生了,没错 @ 符号就是装饰器的语法糖. 它放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上.和这个函数绑定在一起.在我们调用这个函数的时候,第一件事并不是执行这个函数,而是将这个函数做为参数传入它头顶上这顶帽子,这顶帽子我们称之为装饰函数 或 装饰器. 你要问我装饰器可以实现什么功能?我只能说你的脑洞有多大,装饰器就有多强大. 装饰器的使用方法很固定: 先定义一个装饰函数(帽子)(也可以

  • 一篇文章看懂JavaScript中的回调

    前言 回调函数是每个前端程序员都应该知道的概念之一.回调可用于数组.计时器函数.promise.事件处理中. 本文将会解释回调函数的概念,同时帮你区分两种回调:同步和异步. 回调函数 首先写一个向人打招呼的函数. 只需要创建一个接受 name 参数的函数 greet(name).这个函数应返回打招呼的消息: function greet(name) { return `Hello, ${name}!`; } greet('Cristina'); // => 'Hello, Cristina!'

  • 一篇文章看懂MySQL主从复制与读写分离

    目录 引言 一.MySQL主从复制 1.MySQL的复制类型 2.MySQL主从复制的原理 3.MySQL主从复制延迟 二.MySQL读写分离 1.常见的 MySQL 读写分离分 2.MySQL 读写分离原理 三.MySQL主从复制与读写分离配置步骤 1.搭建环境 2.解决需要 3.准备阶段(关闭防火墙及控制访问机制) 4.搭建MySQL主从复制 5.搭建MySQL读写分离步骤 6.测试测试读写分离 总结 引言 企业中的业务通常数据量都比较大,而单台数据库在数据存储.安全性和高并发方面都无法满足

  • 一篇文章看懂Java字符串操作

    目录 字符, 字节与字符串 字符与字符串 字节与字符串 字符串常见操作 字符串比较 字符串查找  字符串替换  字符串拆分  字符串截取 其他操作方法 总结 字符, 字节与字符串 字符与字符串 字符串内部包含一个字符数组,String 可以和 char[] 相互转换. NO 方法名称 类型 描述 1 public String(char value[]) 构造 将字符数组中的所有内容变字符串 2 public String(char value[],int offset,int count) 构

  • 一篇文章看懂SQL中的开窗函数

    目录 OVER的定义 OVER的语法 OVER的用法 OVER在聚合函数中使用的示例 SUM后的开窗函数 COUNT后的开窗函数 OVER在排序函数中使用的示例 ROW_NUMBER() RANK() DENSE_RANK() NTILE() 总结 OVER的定义 OVER用于为行定义一个窗口,它对一组值进行操作,不需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列. OVER的语法 OVER ( [ PARTITION BY column ] [ ORDER

  • 一篇文章看懂Java异常处理

    目录 异常的定义 异常的分类 异常的处理方法 try-catch处理 throw 和throws 自定义异常 总结 异常的定义 在java中,异常就是java在编译.运行或运行过程中出现的错误 总共有三种:1.编译错误 2.运行错误 3.逻辑错误 1.编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置,这个也是新手在刚接触编程语言时经常遇到的问题. 2.运行时错误是因为程序在执行时,运行环境发现了不能执行的操作. 3.逻辑错误是因为程序没有按照预期的逻辑顺序执行

  • 一篇文章读懂Python赋值与拷贝

    变量与赋值 在 Python 中,一切皆为对象,对象通过「变量名」引用,「变量名」更确切的叫法是「名字」,好比我们每个人都有自己的名字一样,咱们通过名字来代指某个人,代码里面通过名字来指代某个对象. 变量赋值就是给对象绑定一个名字,赋值并不会拷贝对象.好比我们出生的时候父母就要给我们取一个名字一样,给人取个绰号并不来多出一个人来,只是多一个名字罢了. 两个对象做比较有两种方式,分别是:is 与 == ,is比较的是两个对象是否相同,通过对象的ID值可识别是否为相同对象,==比较的是两个对象的值是

随机推荐