10000条代码Planning ⑭

一、调用datatime库

"""
日期格式化特殊字符:
%a: 星期几的缩写形式(例如:Mon、Tue、Wed等)
%A: 星期几
%w: 星期几的数字表示(0表示星期日,1表示星期一,以此类推)
%d: 日期(两位数,01表示1号)
%b: 月份的缩写形式(例如:Jan、Feb、Mar等)
%B: 月份的完整形式(例如:January、February、March等)
%m: 月份(两位数,01表示一月)
%y: 年份的后两位数表示(例如:23表示2023年)
%Y: 年份的四位数表示(例如:2023)
%H: 小时(24小时制,两位数,00~23)
%I: 小时(12小时制,两位数,01~12)
%p: AM或PM的表示形式
%M: 分钟(两位数,00~59)
%S: 秒(两位数,00~59)
%f: 微秒(六位数,000000~999999)
%z: 时区偏移(+HHMM或-HHMM)
%Z: 时区名称
%j: 年份中的第几天(三位数,001~366)
%U: 年份中的第几周(从周日开始,00~53)
%W: 年份中的第几周(从周一开始,00~53)
%c: 日期时间的完整表示形式(例如:Mon Jan 1 00:00:00 2023)
%x: 日期的完整表示形式(例如:01/01/23)
%X: 时间的完整表示形式(例如:00:00:00)
%%: 百分号本身
"""

#1.获取当前时间
#到秒
#方法1
from datetime import datetime
date_val = datetime.now()
print(f"{date_val:%Y年%m月%d日 %H时%M分%S秒}")
#方法2
import datetime
data_val=datetime.datetime.now()
print(f"{date_val:%Y年%m月%d日 %H时%M分%S秒}")
#到微秒
#方法1:
from datetime import datetime
date_n=datetime.now()
print(f'{date_n:%H:%M:%S.%f}')
#方法2:
from datetime import datetime
print(datetime.now().time())

#2.构造时间datetime(year,month,day[,hour,minute,second]:可省),可以进行时间的加减、计算时间差等。
#构造时间date(year,month,day)
#datetime()
from datetime import datetime,date
data_val=datetime(2024,12,31)
print(data_val)     #输出"2024-12-31 00:00:00'
print(f"{data_val:%Y年%m月%d日 %H时%M分%S秒}")    #输出:'2024年12月31日 00时00分00秒'
#date()
print(f'date构建时间:{date(2024,12,31)}')     #输出:'date构建时间:2024-12-31'
print(f'date构建时间:{[date(2024,12,31)]}')     #输出:'date构建时间:[datetime.date(2024, 12, 31)]'

#3.时间转秒,秒转时间
#时间转秒:timestamp,结果浮点数
from datetime import datetime
data_val=datetime(2015,1,1,12,8) #注意不可写成:(2015,01,01,12,08)
print(data_val.timestamp())     #输出:"1420085280.0"
#秒转时间:datetime.fromtimestamp(秒数)
t=1420085281.0
print(datetime.fromtimestamp(t))    #输出:"2015-01-01 12:08:01"
d=datetime.fromtimestamp(t)
print(d.year,d.month,d.day)         #输出:'2015 1 1'

#4.字符串str进行时间格式化:datetime.strptime(str,tpl)
from datetime import datetime
tStr="2015-01-01 12:08:01"
t=datetime.strptime(tStr, '%Y-%m-%d %H:%M:%S')
print(t)        #输出:"2015-01-01 12:08:01"
#用法和time库一样,time.strptime(str,tpl),结果不一样
import time
t=time.strptime(tStr,'%Y-%m-%d %H:%M:%S')
print(t)        #输出:"time.struct_time(tm_year=2015, tm_mon=1, tm_mday=1, tm_hour=12, tm_min=8, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=-1)"

#5.时间转字符串str:strftime
from datetime import datetime
t= datetime.now()
print(t.strftime('%a, %b %d %H:%M'))    #输出:"Thu, Apr 11 18:19"
print(t.strftime('%Y{y}%m{m}%d{d}').format(y='年',m='月',d='日'))      #输出:'2024年04月11日'

#6.判断星期几:d.weekday()和d.isoweekday()
#d.weekday(),星期一为0
d=datetime(2012,12,31)
print(d.weekday())      #输出:'0'
#d.isoweekday(),星期一为1
print(d.isoweekday())      #输出:'1'

#7.时间的加减:timedelta(["""days: 天数,可以是正数或负数。\
"""seconds: 秒数,可以是正数或负数。\
microseconds: 微秒数,可以是正数或负数。\
milliseconds: 毫秒数,可以是正数或负数。\
minutes: 分钟数,可以是正数或负数。\
hours: 小时数,可以是正数或负数。\
weeks: 周数,可以是正数或负数。]=int)"""
from datetime import date,timedelta,datetime
t=date(2024,4,1)
#日:days
print(t+timedelta(days=1))      #输出:"2024-04-02",注意这里是date时间格式

#8.datetime时间格式与date时间格式
d = datetime.strptime('2024-4-5','%Y-%m-%d')    #datetime时间格式
t=[d,d.date()]
print(t)        #输出:'[datetime.datetime(2024, 4, 5, 0, 0), datetime.date(2024, 4, 5)]'

二、初始迭代器

def diedai(lst):    #生成器的名称:'diedai'
    for item in lst:
        yield item

#print(diedai([0,1,2,3]))   #输出异常:'<generator object diedai at 0x000001390F58AB30>'

h=diedai([0,1,2,3])

for i in h:
    print(i)    #在生成器已经终止后不尝试使用它,否则出现异常

#创建生成器和迭代器对象
def abc(lst):
    for item in lst:
        yield item

#创建生成器对象
gen=abc(['h',2,3])

#使用iter函数创建迭代器对象
iterator=iter(gen)

#迭代并打印每个元素,在每次迭代时都检查生成器是否还有值:
while True:
    try:
        item = next(gen)
        print(item)
    except StopIteration:
        break

如果你真的想当程序员那么就先写一万条代码。……《向上生长》
24号写下113条代码

目标:10,000条

剩余:9,189条

总结:

迭代器不是很明白

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值