[转载] python中日期和时间格式化输出的方法

本文详细介绍了Python中如何进行时间与日期的转换,包括时间戳与日期格式的相互转换,日期格式的修改,以及获取当前时间、前几天或后几天的日期。还展示了如何使用strftime和strptime函数进行格式化操作,以及datetime和time模块的相关函数。
摘要由CSDN通过智能技术生成

参考链接: Python程序将时间从12小时转换为24小时格式

1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" #将其转换为时间数组 import time timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S") #转换为时间戳: timeStamp = int(time.mktime(timeArray)) timeStamp == 1381419600 2.格式更改 如a = "2013-10-10 23:40:00",想改为 a = "2013/10/10 23:40:00" 方法:先转换为时间数组,然后转换为其他格式 复制代码代码如下: timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S") otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray) 3.时间戳转换为指定格式日期 方法一:利用localtime()转换为时间数组,然后格式化为需要的格式,如: 复制代码代码如下: timeStamp = 1381419600 timeArray = time.localtime(timeStamp) otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) otherStyletime == "2013-10-10 23:40:00" 方法二: import datetime timeStamp = 1381419600 dateArray = datetime.datetime.utcfromtimestamp(timeStamp) otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S") otherStyletime == "2013-10-10 23:40:00" 4.获取当前时间并转换为指定日期格式 方法一: import time #获得当前时间时间戳 now = int(time.time())  ->这是时间戳 #转换为其他日期格式,如:"%Y-%m-%d %H:%M:%S" timeArray = time.localtime(timeStamp) otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) 方法二: import datetime #获得当前时间 now = datetime.datetime.now()  ->这是时间数组格式 #转换为指定的格式: otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S") 5.获得三天前的时间的方法 import time import datetime #先获得时间数组格式的日期 threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3)) #转换为时间戳: timeStamp = int(time.mktime(threeDayAgo.timetuple())) #转换为其他字符串格式: otherStyleTime = threeDayAgo.strftime("%Y-%m-%d %H:%M:%S") 注:timedelta()的参数有:days,hours,seconds,microseconds 6.给定时间戳,计算该时间的几天前时间 timeStamp = 1381419600 #先转换为datetime import datetime import time dateArray = datetime.datetime.utcfromtimestamp(timeStamp) threeDayAgo = dateArray - datetime.timedelta(days = 3) #参考5,可以转换为其他的任意格式了 7、用Python计算昨天和明天的日期 >>> import datetime #导入日期时间模块 >>> today = datetime.date.today() #获得今天的日期 >>> print today #输出今天日期 2014-01-04  >>> yesterday = today - datetime.timedelta(days=1) #用今天日期减掉时间差,参数为1天,获得昨天的日期 >>> print yesterday 2014-01-03  >>> tomorrow = today + datetime.timedelta(days=1) #用今天日期加上时间差,参数为1天,获得明天的日期 >>> print tomorrow 2014-01-05  >>> >>> print "昨天:%s, 今天:%s, 明天:%s" % (yesterday, today, tomorrow) #字符串拼接在一起输出,这3天的日期 昨天:2014-01-03, 今天:2014-01-04, 明天:2014-01-05 8、python里使用time模块来获取当前的时间 #!/usr/bin/python import time print (time.strftime("%H:%M:%S")) ## 12 hour format ## print (time.strftime("%I:%M:%S")) #:输出 #18:11:30 #6:11:30 9、打印出当前的日期的python程序 !/usr/bin/python import time ## dd/mm/yyyy格式 print (time.strftime("%d/%m/%Y")) #输出: 11/03/2014 10、使用datetime模块来获取当前的日期和时间 #!/usr/bin/python import datetime i = datetime.datetime.now() print ("当前的日期和时间是 %s" % i) print ("ISO格式的日期和时间是 %s" % i.isoformat() ) print ("当前的年份是 %s" %i.year) print ("当前的月份是 %s" %i.month) print ("当前的日期是  %s" %i.day) print ("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year) ) print ("当前小时是 %s" %i.hour) print ("当前分钟是 %s" %i.minute) print ("当前秒是  %s" %i.second) 

  

python的时间格式转换 

#!/usr/bin/python

# -*- coding: UTF-8 -*-

 

import time;  # 引入time模块

 

ticks = time.time()

print "当前时间戳为:", ticks

 

localtime = time.localtime(time.time())

print "本地时间为 :", localtime

 

localtime = time.asctime( time.localtime(time.time()) )

print "本地时间为 :", localtime

 

# 格式化成2016-03-20 11:45:39形式

print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

 

# 格式化成Sat Mar 28 22:24:24 2016形式

print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())

 

# 将格式字符串转换为时间戳

a = "Wed Feb 07 11:40:32 2018"

print time.mktime(time.strptime(a, "%a %b %d %H:%M:%S %Y"))

print('')

 

import datetime

i = datetime.datetime.now()

print ("当前的日期和时间是 %s" % i)

print ("ISO格式的日期和时间是 %s" % i.isoformat() )

print ("当前的年份是 %s" %i.year)

print ("当前的月份是 %s" %i.month)

print ("当前的日期是  %s" %i.day)

print ("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year) )

print ("当前小时是 %s" %i.hour)

print ("当前分钟是 %s" %i.minute)

print ("当前秒是  %s" %i.second)

 

import calendar

 

cal = calendar.month(2016, 1)

print "以下输出2016年1月份的日历:"

print cal; 

  

  

输出如下: 

  

当前时间戳为: 1517974979.48

本地时间为 : time.struct_time(tm_year=2018, tm_mon=2, tm_mday=7, tm_hour=11, tm_min=42, tm_sec=59, tm_wday=2, tm_yday=38, tm_isdst=0)

本地时间为 : Wed Feb 07 11:42:59 2018

2018-02-07 11:42:59

Wed Feb 07 11:42:59 2018

1517974832.0

 

当前的日期和时间是 2018-02-07 11:42:59.478000

ISO格式的日期和时间是 2018-02-07T11:42:59.478000

当前的年份是 2018

当前的月份是 2

当前的日期是  7

dd/mm/yyyy 格式是  7/2/2018

当前小时是 11

当前分钟是 42

当前秒是  59

以下输出2016年1月份的日历:

    January 2016

Mo Tu We Th Fr Sa Su

             1  2  3

 4  5  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 

  

python中日期和时间格式化输出的方法 

python格式化日期时间的函数为datetime.datetime.strftime();由字符串转为日期型的函数为:datetime.datetime.strptime(),两个函数都涉及日期时间的格式化字符串,这里提供详细的代码详细演示了每一个参数的使用方法及范例。 

下面是格式化日期和时间时可用的替换符号 %a 输出当前是星期几的英文简写 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%a')

'Sun' 

%A 输出完整的星期几名称英文 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%A')

'Sunday' 

%b  输出月份的英文简写 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%b')

'Sep' 

%B 输出月份的英文完整名称 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%B')

'September' 

%c 以本地时间显示日期和时间 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%c')

'09/15/13 21:43:29' 

%d 显示1-31之间的数,每月的第几天,也就是年月日中的日 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%d')

'15' 

%H  以24小时制显示小时,比如,02,14 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%H')

'21' 

%I 以12小时制的方式显示当前小时,例如当前jb51.net服务器的时间为晚上21点,使用%I显示09 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%I')

'09' 

%j 显示当前日期为一年中的第几天,如当前jb51.net服务器时间为2013年9月15日,则显示为258,也就是一年中的第258天 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%j')

'258' 

%m 显示1-12之间的月份 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%m')

'09' 

%M 显示00-59之间的分钟数 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%M')

'43' 

%p 以 A.M./P.M.方式显示是上午还是下午 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%p')

'PM' 

%S 显示0-59之间的秒数 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%S')

'29' 

%U 显示一年中的第几周,星期天为一周的第一天,例如当前www.jb51.net服务器时间为2013年9月15日,星期天,显示为第37周 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%U')

'37' 

%w  显示一周中的第几天,其中星期天为0,星期一为1,例如:jb51.net当前日期为2013年9月17日星期二,则显示结果为2 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%w')

'2' 

%W 显示一年中的第几周,和U%把不同的是星期一为一周的第一天,例如当前www.jb51.net服务器时间为2013年9月17日,星期二,显示为第37周,范围在0-51之间 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%W')

'37' 

%x 显示当地的日期,例如jb51.net本地时间为:北京时间2013年9月17日  

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%x')

'09/17/13' 

%X 显示当地的时间,例如jb51.net本地时间为:北京时间2013年9月17日 07:55:04   

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%X')

'07:55:04' 

%y 显示(00 - 99) 之间的年份,例如:jb51.net服务器时间为:2013年9月17日,则显示结果为13 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%y')

'13' 

%Y 显示完整年份,例如:jb51.net服务器时间为:2013年9月17日,则显示结果为2013 

>>> import datetime

>>> now=datetime.datetime.now()

>>> now.strftime('%Y')

'2013' 

%z, %Z 输出时区,如果不能显示,则显示为空字符 %%  用于显示%符号 

>>> now.strftime('%%')

'%' 

在举一个完整的例子:  显示当前日期时间:格式为:年-月-日 时:分:秒  

>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S');

'2013-09-17 08:06:17'

 

 

Python获取当前时间及时间转换(datetime) 

datetime是Python处理日期和时间的标准库 

获取当前时间 

  

import datetime

 

day = datetime.datetime.now()

day2 = datetime.date.today()

print("当前年月日时分秒:", day)

print("只查看年月日:", day2)

 

执行结果:

当前年月日时分秒: 2018-09-19 21:18:57.132640

只查看年月日: 2018-09-19 

  

只查看时分秒 

  

import datetime

 

def CutHour(time=datetime.datetime.now()):

    """截取时分秒"""

    new_time = str(time)

    hour = new_time[11:19]

    return "".join(hour)

 

 

print(CutHour())

 

执行结果:

    21:33:25 

  

timestamp转换为datetime 

  

import datetime

 

t = 1537000000.0

print(datetime.datetime.fromtimestamp(t))

 

执行结果:

   2018-09-15 16:26:40

 

str转换为datetime 

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

  

import datetime

 

cday = datetime.datetime.strptime('2018-9-19 18:19:59', '%Y-%m-%d %H:%M:%S')

print(cday)

 

执行结果:

    2018-09-19 18:19:59 

  

datetime转换为str 

  

import datetime

 

now = datetime.datetime.now()

print(now.strftime('%a, %b %d %H:%M'))

 

执行结果:

     Wed, Sep 19 21:29

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值