获取当前时间戳

import time

t = time.time()

millis1 = int(t)
print('10位时间戳:{}'.format(millis1)) millis2 = int(t * 1000)
print('13位时间戳:{}'.format(millis2))

打印结果:
10位时间戳:1594800086
13位时间戳:1594800086816

格式化时间

import time

now = time.strftime("%Y-%m-%d %H:%M:%S")
print('当前时间格式化:{}'.format(now)) now2 = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(1594368331))
print('指定时间格式化:{}'.format(now2))

打印结果:
当前时间格式化:2020-07-15 16:08:57
指定时间格式化:2020-07-10 16:05:31

格式化符号表:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

格式化时间转时间戳

import time

str = '2020-07-10 16:05:31'
ts = time.mktime(time.strptime(str,"%Y-%m-%d %H:%M:%S"))
print('格式化时间转时间戳:{}'.format(int(ts)))

打印结果:
格式化时间转时间戳:1594368331

时间元组+拆分时间

当前时间元组

import time
t_tuple = time.localtime()
print('当前时间元组:{}'.format(t_tuple))
print('当前年:{}'.format(t_tuple.tm_year))
print('当前月:{}'.format(t_tuple.tm_mon))
print('当前日:{}'.format(t_tuple.tm_mday))
print('当前时:{}'.format(t_tuple.tm_hour))
print('当前分:{}'.format(t_tuple.tm_min))
print('当前秒:{}'.format(t_tuple.tm_sec))
print('当前周几:{}'.format(t_tuple.tm_wday))
print('当前是一年中第几天:{}'.format(t_tuple.tm_yday))
print('当前是否是夏令时:{}'.format(t_tuple.tm_isdst))

打印结果:
当前时间元组:time.struct_time(tm_year=2020, tm_mon=7, tm_mday=15, tm_hour=16, tm_min=59, tm_sec=45, tm_wday=2, tm_yday=197, tm_isdst=0)
当前年:2020
当前月:7
当前日:15
当前时:16
当前分:59
当前秒:45
当前周几:2
当前是一年中第几天:197
当前是否是夏令时:0

时间戳转时间元组

import time

t_tuple2 = time.localtime(1594368331)
print('时间戳转时间元组:{}'.format(t_tuple2))

打印结果:
时间戳转时间元组:time.struct_time(tm_year=2020, tm_mon=7, tm_mday=10, tm_hour=16, tm_min=5, tm_sec=31, tm_wday=4, tm_yday=192, tm_isdst=0)

格式化时间转时间元组

import time

tts = time.strptime('2018-09-30 11:32:23', '%Y-%m-%d %H:%M:%S')
print('格式化时间转时间元组:{}'.format(tts))

打印结果:
格式化时间转时间元组:time.struct_time(tm_year=2018, tm_mon=9, tm_mday=30, tm_hour=11, tm_min=32, tm_sec=23, tm_wday=6, tm_yday=273, tm_isdst=-1)

时间元组转时间戳

import time

tt = time.mktime((2020, 7, 10, 16, 5, 31, 0, 0, 0))
print('时间元组转时间戳:{}'.format(int(tt)))

打印结果:
时间元组转时间戳:1594368331

获取今天日期

下面两种写法 效果相同 前者是格式化时间的方法 可以传入任意时间戳指定返回任意格式  后者是专门为获取今天日期提供的方法

import time
import datetime today1 = time.strftime("%Y-%m-%d")
print(today1) today2 = datetime.date.today()
print(today2)

打印结果:
2020-07-15
2020-07-15

today方法的结果还可以进一步转化成元组:

import datetime

d = datetime.date.today().timetuple()
print(d)

打印结果:
time.struct_time(tm_year=2020, tm_mon=7, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=197, tm_isdst=-1)

时间戳转日期格式

import time
import datetime d1 = time.strftime('%Y-%m-%d',time.localtime(1594804107))
print('时间戳转日期:{}'.format(d1)) d2 = datetime.date.fromtimestamp(1594804107)
print('时间戳转日期:{}'.format(d2))

打印结果:
2020-07-15
2020-07-15

两个日期相差天数

import datetime

a = datetime.date(2020, 7, 1)
b = datetime.date(2020, 7, 15)
print('b的日期减去a的日期:{}'.format(b.__sub__(a).days))
print('a的日期减去b的日期:{}'.format(a.__sub__(b).days))

打印结果:
b的日期减去a的日期:14
a的日期减去b的日期:-14

获取几天/小时/分 之前/之后的时间

import datetime

# 3小时之后
later_hours = datetime.datetime.now() + datetime.timedelta(hours=3)
print(later_hours.strftime('%Y-%m-%d %H:%M:%S')) # 3小时之后的时间戳
print(int(later_hours.timestamp())) # 10分钟之后
later_minutes = datetime.datetime.now() + datetime.timedelta(minutes=10)
print(later_minutes.strftime('%Y-%m-%d %H:%M:%S')) # 10分钟之后的时间戳
print(int(later_minutes.timestamp())) # 7天之后
later_days = datetime.datetime.now() + datetime.timedelta(days=7)
print(later_days.strftime('%Y-%m-%d %H:%M:%S')) # 7天之后的时间戳
print(int(later_days.timestamp()))
import datetime

# 3小时之前
before_hours = datetime.datetime.now() - datetime.timedelta(hours=3)
print(before_hours.strftime('%Y-%m-%d %H:%M:%S')) # 3小时之前的时间戳
print(int(before_hours.timestamp())) # 10分钟之前
before_minutes = datetime.datetime.now() - datetime.timedelta(minutes=10)
print(before_minutes.strftime('%Y-%m-%d %H:%M:%S')) # 10分钟之前的时间戳
print(int(before_minutes.timestamp())) # 7天之前
before_days = datetime.datetime.now() - datetime.timedelta(days=7)
print(before_days.strftime('%Y-%m-%d %H:%M:%S')) # 7天之前的时间戳
print(int(before_days.timestamp()))

获取上个月开始结束时间

import datetime

# 上个月第一天
date = datetime.datetime.today()
year,month = date.year,date.month
if month == 1:
startDate = datetime.date(year-1, 12, 1)
else:
startDate = datetime.date(year, month-1, 1)
print(startDate) # 上个月最后一天
today = datetime.datetime.today()
endDate = datetime.date(today.year, today.month, 1) - datetime.timedelta(days=1)
print(endDate)

打印结果:
2020-06-01
2020-06-30

import datetime

# 上个月开始时间戳
if month == 1:
startTime = int(time.mktime(datetime.date(year-1,12,31).timetuple()))
else:
startTime = int(time.mktime(datetime.date(datetime.date.today().year,datetime.date.today().month-1,1).timetuple()))
print(startTime) # 上个月结束时间戳
endTime = int(time.mktime(datetime.date(datetime.date.today().year,datetime.date.today().month,1).timetuple())) - 1
print(endTime)

打印结果:
1590940800
1593532799

获取本月开始结束时间

import datetime
import time # 本月第一天
date = datetime.datetime.today()
year,month = date.year,date.month
startDate = datetime.date(year, month, 1)
print(startDate) # 本月最后一天
today = datetime.datetime.today()
if month == 12:
endDate = datetime.date(year, month, 31)
else:
endDate = datetime.date(today.year, today.month + 1, 1) - datetime.timedelta(days=1)
print(endDate)

打印结果:
2020-07-01
2020-07-31

import datetime
import time # 本月开始时间戳
startTime = int(time.mktime(datetime.date(datetime.date.today().year,datetime.date.today().month,1).timetuple()))
print(startTime) # 本月结束时间戳
if month == 12:
endTime = int(time.mktime(datetime.date(datetime.date.today().year + 1,1, 1).timetuple())) - 1
else:
endTime = int(time.mktime(datetime.date(datetime.date.today().year,month+1, 1).timetuple())) - 1
print(endTime)

打印结果:
1593532800
1609430399

获取本周上周时间

import datetime
import time # 本周一的时间
today = datetime.datetime.today()
monday_date = today - datetime.timedelta(today.isoweekday()-1)
t = monday_date.strftime('%Y-%m-%d')
print(t) # 本周一的时间戳
ts = time.mktime(time.strptime(t,"%Y-%m-%d"))
print(int(ts)) # 上周一的时间
last_monday_date = today - datetime.timedelta(days=today.weekday()+7)
ta = last_monday_date.strftime('%Y-%m-%d')
print(ta) # 上周一的时间戳
tas = time.mktime(time.strptime(ta,"%Y-%m-%d"))
print(int(tas)) # 上周的结束时间
last_over_date = today - datetime.timedelta(days=today.weekday()+1)
o = last_over_date.strftime('%Y-%m-%d')
print(o) # 上周的结束时间戳
oa = time.mktime(time.strptime(o,"%Y-%m-%d"))
oat = int(oa)+86400-1
print(oat)

打印结果:
2020-07-13
1594569600
2020-07-06
1593964800
2020-07-12
1594569599

获取今年去年时间

import datetime
import time today = datetime.datetime.today() # 今年开始时间
start_year_date = datetime.datetime(today.year, 1, 1)
syd = start_year_date.strftime('%Y-%m-%d')
print(syd) # 今年开始时间戳
print(int(start_year_date.timestamp())) # 今年结束时间
end_year_date = datetime.datetime(today.year,12,31,23,59,59)
eyd = end_year_date.strftime('%Y-%m-%d')
print(eyd) # 今年结束时间戳
print(int(end_year_date.timestamp())) # 去年开始时间
last_year_date = datetime.datetime(today.year-1, 1, 1)
lyd = last_year_date.strftime('%Y-%m-%d')
print(lyd) # 去年开始时间戳
print(int(last_year_date.timestamp())) # 去年结束时间
last_year_end_date = datetime.datetime(today.year, 1, 1,23,59,59) - datetime.timedelta(days=1)
lyed = last_year_end_date.strftime('%Y-%m-%d')
print(lyed) # 去年结束时间戳
print(int(last_year_end_date.timestamp()))

打印结果:
2020-01-01
1577808000
2020-12-31
1609430399
2019-01-01
1546272000
2019-12-31
1577807999

Python日期时间(详细)的更多相关文章

  1. Python 日期时间处理模块学习笔记

    来自:标点符的<Python 日期时间处理模块学习笔记> Python的时间处理模块在日常的使用中用的不是非常的多,但是使用的时候基本上都是要查资料,还是有些麻烦的,梳理下,便于以后方便的 ...

  2. Python日期时间函数处理

    所有日期.时间的 api 都在datetime模块内. 1 日期的格式化输出 datetime => string import datetime now = datetime.datetime ...

  3. python 日期 & 时间

    1. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 2. 时间间隔是以秒为单位的浮点小数. 3. 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长 ...

  4. Python日期时间Date/Time

    Python程序可以处理多种方式的日期和时间.日期格式之间的转换是一种常见计算机的杂活. Python的时间和日历模块,能帮助处理日期和时间. Tick是什么? 为时间间隔,以秒为单位的浮点数.从“新 ...

  5. 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...

  6. 1、Python 日期时间格式化输出

    今天帮朋友写自动化脚本,又需要用格式化日期,又忘记怎么写了,还是写到自己博客里面,方便日后需要的时候看一眼吧.So,临时加一篇 Python 的文章. 1.Python的time模块 import t ...

  7. python日期时间处理

    time模块 #-*- coding: utf-8 -*- """ #获取当前时间的时间戳(单位秒) time.time() #推迟指定秒数后再运行 time.sleep ...

  8. python 日期时间处理

    # 获取日期: import datetime #调用事件模块 today =datetime.date.today() #获取今天日期 deltadays =datetime.timedelta(d ...

  9. Python日期时间的相关操作

    1.获取当前时间戳 import time t=time.time() print t 1459994552.51 #以秒为单位的 2.格式化日期 time.localtime() 返回当前时间的: ...

随机推荐

  1. 深度学习中损失值(loss值)为nan(以tensorflow为例)

    我做的是一个识别验证码的深度学习模型,识别的图片如下 验证码图片识别4个数字,数字间是有顺序的,设立标签时设计了四个onehot向量链接起来,成了一个长度为40的向量,然后模型的输入也是40维向量用s ...

  2. 扫描PDF417崩溃的原因找到:手机摄像头分辨率低

    换孩子姥姥华为手机解决了. 能扫pdf417码了

  3. Python package project

    使用 Python 书写项目打包程序(已经存在 shell 的脚本,经过对比 Python 脚本的执行过程更加的可控人性化实现的功能相同) #!/usr/bin/env python # _*_cod ...

  4. API返回延迟,FPM重启后恢复之后又重现 问题解决方案

    背景 最近在提供后台API时,提供了一个简单逻辑的接口 部署在测试环境,自测没问题,提交测试 突然有一天,接口响应延迟严重,几乎每次都是3-4秒返回 这对于一个接口来说,肯定是有问题的 于是便有了以下 ...

  5. jieba尝鲜

    import jieba strings = '我工作在安徽的安徽师范大学,这个大学很美丽,在芜湖' # print(dir(jieba)) dic_strings = {} lst_strings ...

  6. Python file() 函数

    描述 file() 函数用于创建一个 file 对象,它有一个别名叫 open(),更形象一些,它们是内置函数.参数是以字符串的形式传递的.每组词 www.cgewang.com 更多文件操作可参考: ...

  7. PHP date_add() 函数

    ------------恢复内容开始------------ 实例 添加 40 天到 2013 年 3 月 15 日: <?php$date=date_create("2013-03- ...

  8. 4.22 省选模拟赛 三元组 manacher 回文自动机

    容易发现可以枚举j 那么只需要计算出 l~j这段是回文串的l的和 以及j+1~r这段是回文串的r的和. 可以manacher 之后想要求出以j为右端点的回文串左端点的和 这个东西我们通过某个点为中心的 ...

  9. duoxiao OJ #910 【高手训练】【动态规划】梦中漫步 期望 LCA

    LINK:梦中漫步 当然也可以去一本通的Oj/loj上交(loj可能没有.. 期望好题.期望和dp往往是在一起的. 前置知识:1. 期望是线性可加的.2.和的期望等于期望的和. 从u出发每次随机选一条 ...

  10. 死磕HashMap

    前言 HashMap是Java中最常用的集合类框架,也是Java语言中非常典型的数据结构,同时也是我们需要掌握的数据结构,更重要的是进大厂面试必问之一. 数组特点 存储区间是连续,且占用内存严重,空间 ...