时间戳

  • 从1970年1月1日00:00到当前时间的时间间隔,单位是秒

UTC

  • (CoordinatedUniversalTime,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。

DST

  • (DaylightSavingTime)即夏令时。是一种为节约能源而人为规定地方时间的制度,一般在天亮早的夏季人为将时间提前一小时。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time
# time.sleep(1) # 程序休眠,单位是秒
timestamp = time.time() # 当前时间戳
print(timestamp)

localtime = time.localtime(time.time())
"""
tm_year    年,2018
tm_mon    月,1 到 12
tm_mday    日,1 到 31
tm_hour    时,0 到 23
tm_min    分,0 到 59
tm_sec    秒,0 到 61 (60或61 是闰秒)
tm_wday    周,0到6 (0是周一)
tm_yday    一年中的第几天,1 到 366
tm_isdst 是否为夏令时,值有:1(夏令时)、0(不是夏令时)、-1(未知),默认 -1 
"""
print ("本地时间为 :", localtime)

localtime = time.asctime(time.localtime(time.time()))
print ("本地时间为 :", localtime)

# 格式化成2018-03-21 20:54:39形式
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

# 格式化成Wed Mar 21 20:54:55 2018形式
print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))

# 将格式字符串转换为时间戳
a = "Wed Mar 21 20:54:55 2018"
print(time.mktime(time.strptime(a, "%a %b %d %H:%M:%S %Y")))
"""
%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 当前时区的名称
%% %号本身
"""

datetime

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 处理 日期和时间
import datetime
datetime_dt = datetime.datetime.today()  # 获取当前日期和时间
print("当前时间和日期为:{}".format(datetime_dt))
datetime_str = datetime_dt.strftime("%Y/%m/%d %H:%M:%S")  # 格式化日期时间
print("当前时间和日期格式化后为:{}".format(datetime_str))

time_delta = datetime.timedelta(hours=3)  # 时间间隔
print("当前时间间隔为{}".format(time_delta))

datetime_pre = datetime_dt + time_delta  # 将时间延后3小时
print("时间延后三小时为{}".format(datetime_pre.ctime()))

# 将日期时间转为日期
date = datetime_dt.date()
print("现在是 {}年 {}月 {}日".format(date.year, date.month, date.day))

# 将日期时间转为时间
time = datetime_dt.time()
print("现在是 {}".format(time.isoformat()))

# 将日期时间转为时间戳
time_s = datetime_dt.timestamp()
print("现在的时间戳: {}".format(time_s))

calendar

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import calendar
import time
# Calendar(firstweekday=0)
# Calendar对象 firstweekday:一周的第一天,0周一(默认),6周日
calen = calendar.Calendar()
calen_iter = calen.iterweekdays()  # 迭代器,一周的星期数字 => 0 1 2 3 4 5 6
calen_iter = calen.itermonthdates(2018, 3)  # 迭代器, x年x月中所有天 => 2018-05-01 2018-05-02
calen_iter = calen.itermonthdays2(2018, 5)  # 迭代器, x年x月中所有(日,星期) => (1, 0) (2, 1) (3, 2) ...
calen_iter = calen.itermonthdays(2018, 5)  # 迭代器, x年x月中的所有天 => 1 2 3 ...
calen_iter = calen.monthdatescalendar(2018, 5)  # 迭代器, x年x月中data(年,月,日)对象 => date(2018, 5, 1) date(2018, 5, 2) ...
calen_iter = calen.monthdays2calendar(2018, 5)  # 迭代器, x年x月中(日,星期)的周列表 => [(1, 0), (2, 1) ...] [ ... ] ...
calen_iter = calen.monthdayscalendar(2018, 5)  # 迭代器, x年x月中日的周列表 => [1,2,3 ...] [...] ...
calen_lists = calen.yeardatescalendar(2018, width=3)  # x年所有data(年,月,日)对象的月列表
calen_lists = calen.yeardays2calendar(2018, width=3)  # x年所有(日,星期)的月列表
calen_lists = calen.yeardayscalendar(2018, width=3)  # x年所有日的月列表


# === TextCalendar ===
# TextCalendar(firstweekday=0) // 纯文本的日历
calen_text = calendar.TextCalendar()

calen_str = calen_text.formatmonth(2018, 3)  # x年x月所有日
print(calen_str)
calen_text.prmonth(2018, 3)  # (打印) x年x月所有日
calen_str = calen_text.formatyear(2018)  # x年所有日
print(calen_str)
calen_text.pryear(2018)  # (打印) x年所有日


# === HTMLCalendar ===
# HTMLCalendar(firstweekday=0) // HTML的日历
calen_html = calendar.HTMLCalendar()
#
calen_str = calen_html.formatmonth(2018, 3, withyear=True)  # x年x月的所有日

calen_str = calen_html.formatyear(2018, width=3)  # x年所有日

calen_str = calen_html.formatyearpage(2018, width=3, css='calendar.css', encoding=None)  # (完整编码) x年所有日

# # === calendar 模块的函数 ===
calendar.setfirstweekday(calendar.SUNDAY)  # 设置每周开始的工作日(默认:0周一,6周日),如设置星期天为第一个工作日(calendar.SUNDAY) 参数:MONDAY / TUESDAY / WEDNESDAY / THURSDAY / FRIDAY / SATURDAY / SUNDAY
num = calendar.firstweekday()  # 返回每周的第一天的星期
print(num)
boolean = calendar.isleap(2018)  # x年是否为闰年
print(boolean)
num = calendar.leapdays(2010, 2020)  # x年到y年的闰年数
print(num)
num = calendar.weekday(2018, 5, 6)  # x年x月x日的星期几
strs = calendar.weekheader(1)  # 星期E名, 1为名字长度
weekday, days = calendar.monthrange(2018, 5)  # x年x月 (星期, 月天数)
calen_lists = calendar.monthcalendar(2018, 5)  # x年x月的月历
calen_lists = calendar.prmonth(2018, 5, w=0, l=0)  # x年x月的日历
calen_strs = calendar.month(2018, 5, w=0, l=0)  # 月历
calendar.prcal(2018, w=0, l=0, c=6, m=3)  # (打印) 整年日历
calen_strs = calendar.calendar(2018, w=2, l=1, c=6, m=3)  # 整年日历
time_s = calendar.timegm(time.gmtime(time.time()))  # 时间元组 转为 时间戳

calen_iter = calendar.day_name  # 迭代器, 星期E名称
calen_iter = calendar.day_abbr  # 迭代器, 星期E缩写名称
calen_iter = calendar.month_name  # 迭代器, 月E名称
calen_iter = calendar.month_abbr  # 迭代器, 月E缩写名称
函数及描述
calendar.calendar(year,w=2,l=1,c=6) 返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。 每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。
calendar.firstweekday( ) 返回当前每周起始日期的设置。默认情况下,首次载入caendar模块时返回0,即星期一。
calendar.isleap(year) 是闰年返回True,否则为false。
calendar.leapdays(y1,y2) 返回在Y1,Y2两年之间的闰年总数。
calendar.month(year,month,w=2,l=1) 返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。
calendar.monthcalendar(year,month) 返回一个整数的单层嵌套列表。每个子列表装载代表一个星期的整数。Year年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始。
calendar.monthrange(year,month) 返回两个整数。第一个是该月的星期几的日期码,第二个是该月的日期码。日从0(星期一)到6(星期日);月从1到12。
calendar.prcal(year,w=2,l=1,c=6) 相当于 print calendar.calendar(year,w,l,c).
calendar.prmonth(year,month,w=2,l=1) 相当于 print calendar.calendar(year,w,l,c)。
calendar.setfirstweekday(weekday) 设置每周的起始日期码。0(星期一)到6(星期日)。
calendar.timegm(tupletime) 和time.gmtime相反:接受一个时间元组形式,返回该时刻的时间辍(1970纪元后经过的浮点秒数)。
calendar.weekday(year,month,day) 返回给定日期的日期码。0(星期一)到6(星期日)。月份为 1(一月) 到 12(12月)。

results matching ""

    No results matching ""