文档章节

时间函数datetime time

o
 osc_y8yehimr
发布于 2019/03/20 21:39
字数 1974
阅读 12
收藏 0

精选30+云产品,助力企业轻松上云!>>>

# 时间转时间戳
period = time.mktime(datetime.now().timetuple())
# 时间戳转结构化时间
time_len = time.localtime(period)
# 结构化时间转字符串,并输出自定义格式(时分秒)
time_len =time.strftime('%H:%M:%S',time_len)

 

time模块

time翻译过来就是时间,有我们其实在之前编程的时候有用到过.

#常用方法
1.time.sleep(secs)
(线程)推迟指定的时间运行。单位为秒。
2.time.time() 获取当前时间戳

在计算中时间共有三种方式:

1.时间戳: 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型

2.格式化字符串时间: 格式化的时间字符串(Format String): ‘1999-12-06’

python中时间日期格式化符号:
%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 当前时区的名称 %% %号本身

3.结构化时间:元组(struct_time) struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)img

首先,我们先导入time模块,来认识一下python中表示时间的几种格式:

#导入时间模块
>>>import time

#时间戳
>>>time.time()
1500875844.800804

#时间字符串 >>>time.strftime("%Y-%m-%d %X") '2017-07-24 13:54:37' >>>time.strftime("%Y-%m-%d %H-%M-%S") '2017-07-24 13-55-04' #时间元组:localtime将一个时间戳转换为当前时区的struct_time time.localtime() time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24,           tm_hour=13, tm_min=59, tm_sec=37, tm_wday=0, tm_yday=205, tm_isdst=0)

小结:时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的

时间格式转换:

img

#时间戳-->结构化时间
#time.gmtime(时间戳)    #UTC时间,与英国伦敦当地时间一致 #time.localtime(时间戳) #当地时间。例如我们现在在北京执行这个方法:与UTC时间相差8小时,UTC时间+8小时 = 北京时间 >>>time.gmtime(1500000000) time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0) >>>time.localtime(1500000000) time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)  #结构化时间-->时间戳  #time.mktime(结构化时间) >>>time_tuple = time.localtime(1500000000) >>>time.mktime(time_tuple) 1500000000.0  #结构化时间-->字符串时间 #time.strftime("格式定义","结构化时间") 结构化时间参数若不传,则显示当前时间 >>>time.strftime("%Y-%m-%d %X") '2017-07-24 14:55:36' >>>time.strftime("%Y-%m-%d",time.localtime(1500000000)) '2017-07-14'  #字符串时间-->结构化时间 #time.strptime(时间字符串,字符串对应格式) >>>time.strptime("2017-03-16","%Y-%m-%d") time.struct_time(tm_year=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1) >>>time.strptime("07/24/2017","%m/%d/%Y") time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=205, tm_isdst=-1)

img

#结构化时间 --> %a %b %d %H:%M:%S %Y串
#time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串
>>>time.asctime(time.localtime(1500000000))
'Fri Jul 14 10:40:00 2017' >>>time.asctime() 'Mon Jul 24 15:18:33 2017' #时间戳 --> %a %b %d %H:%M:%S %Y串 #time.ctime(时间戳) 如果不传参数,直接返回当前时间的格式化串 >>>time.ctime() 'Mon Jul 24 15:19:07 2017' >>>time.ctime(1500000000) 'Fri Jul 14 10:40:00 2017'

我们看完了time在来看一个Python处理日期和时间的标准库

datetime

获取当前日期和时间

from datetime import datetime

print(datetime.now())

'''
结果:2018-12-04 21:07:48.734886
'''

注意:datetime是模块,datetime模块还包含一个datetime的类,通过from datetime import datetime导入的才是datetime这个类。

如果仅导入import datetime,则必须引用全名datetime.datetime

datetime.now()返回当前日期和时间,其类型是datetime

获取指定日期和时间

要指定某个日期和时间,我们直接用参数构造一个datetime

from datetime import datetime

dt = datetime(2018,5,20,13,14) print(dt) ''' 结果:2018-05-20 13:14:00 '''

datetime转换为timestamp(时间戳)

from datetime import datetime

dt = datetime.now()
new_timestamp = dt.timestamp()
print(new_timestamp)

'''
结果:1543931750.415896
'''

timestamp转换为datetime

import time
from datetime import datetime

new_timestamp = time.time()
print(datetime.fromtimestamp(new_timestamp))

str转换为datetime

很多时候,用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串:

from datetime import datetime

t = datetime.strptime('2018-4-1 00:00','%Y-%m-%d %H:%M')
print(t)
''' 结果: 2018-04-01 00:00:00 '''

datetime转换为str

如果已经有了datetime对象,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过strftime()实现的,同样需要一个日期和时间的格式化字符串:

from datetime import datetime
now = datetime.now()
print(now.strftime('%a, %b %d %H:%M'))
Mon, May 05 16:28 

datetime加减

对日期和时间进行加减实际上就是把datetime往后或往前计算,得到新的datetime。加减可以直接用+-运算符,不过需要导入timedelta这个类:

from datetime import datetime, timedelta
now = datetime.now()
print(now)
now1 = now + timedelta(hours=10)
print(now1)
now2 = now - timedelta(days=1)
print(now2)
now3 = now + timedelta(days=2, hours=12)
print(now3)

可见,使用timedelta你可以很容易地算出前几天和后几天的时刻。

Python当前时间是一年中第几周

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Jerry_1126/article/details/80864048

Python返回当前时间是一年中第几周有好多种方法

方法一:

  1.  
    >>> import time
  2.  
    >>> print(time.strftime("%W"))
  3.  
    26

方法二:

  1.  
    >>> from datetime import datetime
  2.  
    >>> datetime.now().isocalendar() # 今年2018年;第26周; 周6; 今天2018年06月30日
  3.  
    ( 2018, 26, 6)
  4.  
    >>> datetime.now().isocalendar()[1] # 索引为[1],就可以求出一年的第多少周
  5.  
    26
  6.  
    >>> datetime(2018,6,30).isocalendar()[1] # 或者填好今天具体日期来获取第多少周
  7.  
    26

方法三:

  1.  
    >>> import time
  2.  
    >>> time.localtime()
  3.  
    time.struct_time(tm_year= 2018, tm_mon=6, tm_mday=30, tm_hour=9, tm_min=53, tm_sec=10, tm_wday=5, tm_yday=181, tm_isdst=0)
  4.  
    >>> time.localtime()[7] # 一年中的第181天
  5.  
    181
  6.  
    >>> time.localtime()[7]/7+1 # 一年中的第26周
  7.  
    26

小结

datetime表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。

 

 

 

 

 

import datetime
# 获取当前时间
d1 = datetime.datetime.now()
print d1
# 当前时间加上半小时
d2 = d1 + datetime.timedelta(hours=0.5)
print d2
# 格式化字符串输出
d3 = d2.strftime('%Y-%m-%d %H:%M:%S')
print d3
# 将字符串转化为时间类型
d4 = datetime.datetime.strptime(date,'%Y-%m-%d %H:%M:%S.%f')
print d4

获取本周和本月第一天的日期:

# -*- coding:utf-8 -*-
import datetime
def first_day_of_month():
  '''
  获取本月第一天
  :return:
  '''
  # now_date = datetime.datetime.now()
  # return (now_date + datetime.timedelta(days=-now_date.day + 1)).replace(hour=0, minute=0, second=0,
  # microsecond=0)
  return datetime.date.today() - datetime.timedelta(days=datetime.datetime.now().day - 1)
def first_day_of_week():
  '''
  获取本周第一天
  :return:
  '''
  return datetime.date.today() - datetime.timedelta(days=datetime.date.today().weekday())
if __name__ == "__main__":
  this_week = first_day_of_week()
  last_week = this_week - datetime.timedelta(days=7)
  this_month = first_day_of_month()
  last_month = this_month - datetime.timedelta(days=(this_month - date

 

 # 7) datetime加减

58 # datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)59 now = datetime.now()
60 print('7)')
61 print('当前时间 :', now)
62 now_stamp = now.timestamp()
63 print('时间戳 :', now_stamp)
64 np.savetxt('now_stamp.txt', np.array([now_stamp]))
65 t = now + timedelta(days=1, hours=8, minutes=5, seconds=20)
66 print('1天8小时5分20秒之后的时间 :', t)

 

 

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
python模块概念—time

1.模块格式 为了方便管理模块,python中又引了包(Package)这个概念。每个包下面都有一个init.py文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。init....

huangzp168
2017/11/09
0
0
时间模块

time模块 在time模块中,time.time()和time.sleep()函数是最有用的模块。 time.time()函数返回自那一刻以来的秒数,是一个浮点值。 可以通过两次调用time.time(),相减后得到这两次调用之间经...

Grodd
2018/02/18
0
0
一天掌握一个Python库--datetime库 - 知乎

#一天掌握一个Python库--datetime库 datatime 模块题共用一些处理日期,时间和时间间隔的函数。这个模块使用面向对象的交互取代了time模块中整形/元组类型的时间函数。 在这个模块中的所有类...

Datartisan数据工匠
2019/10/21
0
0
第25天:Python datetime&time

by 千阳 在前面的章节中已经介绍了一些 Python 常用的模块,本节再介绍两个模块 datetime 模块和 time 模块,这两个模块主要用于转换日期格式的功能。 datetime模块 datetime 模块是 Python...

osc_ytmgp8ea
05/24
5
0
python3中关于时间格式的操作

在写python时,很多时候需要用的时间函数,如:记录当前时间,以时间命名文件,或是比较时间的先后等,这里记录一下关于常用时间模块的方法。 环境: ubuntu16.04 python3.5.2 用到两个模块:...

RickyHuL
2018/01/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux下java环境搭建

1、jdk下载: 官方地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 如下图所示,我这边选择的是红框中的版本 2、压缩包上传至服务器 将下载的压缩包上传...

wc_飞豆
44分钟前
17
0
面试题:Java对象不再使用时,为什么要赋值为null?

前言 许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回...

码农突围
46分钟前
22
0
设计模式(5) 原型模式

原型模式 原型模式的适用场景 浅拷贝 深拷贝 用Initialize方法修改初始化状态 原型模式与之前学习的各种工厂方法、单例模式、建造者模式最大、最直观的区别在于,它是从一个既有的对象“克隆...

zhixin9001
46分钟前
7
0
获取免费的pycharm激活码网站

http://www.lookdiv.com/

云烟成雨forever
46分钟前
27
0
用Helm部署Kubernetes应用,支持多环境部署与版本回滚

1 前言 Helm是优秀的基于Kubernetes的包管理器。利用Helm,可以快速安装常用的Kubernetes应用,可以针对同一个应用快速部署多套环境,还可以实现运维人员与开发人员的职责分离。现在让我们安...

南瓜慢说
48分钟前
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部