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

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处理日期和时间的标准库

获取当前时间

 1 import datetime
 2 
 3 day = datetime.datetime.now()
 4 day2 = datetime.date.today()
 5 print("当前年月日时分秒:", day)
 6 print("只查看年月日:", day2)
 7 
 8 执行结果:
 9     当前年月日时分秒: 2018-09-19 21:18:57.132640
10     只查看年月日: 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

1 import datetime
2 
3 t = 1537000000.0
4 print(datetime.datetime.fromtimestamp(t))
5 
6 执行结果:
7     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

1 import datetime
2 
3 now = datetime.datetime.now()
4 print(now.strftime('%a, %b %d %H:%M'))
5 
6 执行结果:
7     Wed, Sep 19 21:29

 

posted @ 2019-04-11 14:44  军刀、  阅读(36995)  评论(0编辑  收藏  举报