python解题_Python解题记录第16题

【本文结构】

1. 题目信息:来源、地址、序号、描述

2. 题目答案:简要分析,程序代码(测试运行通过,含注释),运行结果

3. 霍霍磨刀:解答这道题目之前应掌握的知识基础

4. 解析过程:题目类型,分析以及实践过程

5. 斩获成果:通过解答这道题目之后的知识提升

6. 下一题预告:来源、地址、序号、描述

【题目信息】

来源:菜鸟教程

序号:16

描述:输出指定格式的日期

【题目答案】

程序分析:使用 datetime 模块

程序代码:

import datetime

if __name__ == '__main__':

# 输出今日日期,格式为 dd/mm/yyyy。更多选项可以查看 strftime() 方法

print(datetime.date.today().strftime('%d/%m/%Y'))

# 创建日期对象

miyazakiBirthDate = datetime.date(1941, 1, 5)

print(miyazakiBirthDate.strftime('%d/%m/%Y'))

# 日期算术运算

miyazakiBirthNextDay = miyazakiBirthDate + datetime.timedelta(days=1)

print(miyazakiBirthNextDay.strftime('%d/%m/%Y'))

# 日期替换

miyazakiFirstBirthday = miyazakiBirthDate.replace(year=miyazakiBirthDate.year + 1)

print(miyazakiFirstBirthday.strftime('%d/%m/%Y'))

运行结果:

13/08/2019

05/01/1941

06/01/1941

05/01/1942

【霍霍磨刀】

在解答这道题目之前,你首先应具备以下知识基础:

1. 与python日期时间有关的两个库:time,datetime

【解析过程】

题型:{语法格式题}

这个题目真是泛泛啊,有点无从下手的感觉

记得上次有解答过相关内容的题目,详见:Python解题记录第4题

只能自己给自己出题了

1、 输出今天的日期

2、 输出昨天的日期

3、 格式化1为:xxxx年xx月xx日星期几,举例:2019年8月13日星期二

根据这些题目,我做了如下解答:

1.输出今天的日期

import time # 导入time库

print(time.strftime("%Y-%m-%d")) # 输出今天的日期

import datetime # 导入datetime库

print(datetime.date.today()) # 输出今天的日期

# 2.输出昨天的日期

import datetime # 导入datetime库

today=datetime.date.today() # 定义today变量,并赋值今天的日期

oneday=datetime.timedelta(days=1) # 计算1天的时间间隔

# timedelta

# 该函数表示两个时间的间隔

# 参数可选、默认值都为0:datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

yesterday=today-oneday # 今天的日期减去1天的时间间隔

print(yesterday) # 输出昨天的日期

3.格式化1为:xxxx年xx月xx日星期几,举例:2019年8月13日星期二

import time # 导入time库

print(time.strftime("%Y/%m/%d")) # 格式化日期 xxxx/xx/xx

print(time.strftime("%m/%d/%Y")) # 格式化日期 xx/xx/xxxx

# print(time.strftime("%Y年%m/%d")) # 会出错,不能带有中文,so,有了下面的解答

ttime=time.time() # 获取时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量

ltime=time.localtime(ttime) # 生成struct_time

weektuple=('日','一','二','三','四','五','六') # 定义星期元组

print("{}年{}月{}日,星期{}".format(ltime.tm_year,ltime.tm_mon,ltime.tm_mday,weektuple[ltime.tm_wday])) # 输出我们想要的日期格式

# 优秀文章推荐:

# https://www.cnblogs.com/lichunl/p/9098024.html

# https://www.cnblogs.com/pyxiaomangshe/p/7918850.html

# https://www.cnblogs.com/kerwinC/p/5760811.html

附加:

学习一种库,需要掌握以下的代码

# 导入库

import time

# 先看看time库里有哪些函数

for str in dir(time):

if not str.startswith('__' ):

print(str,end=",")

print()

# 查看库内的函数帮助

help(time.time)

尝试去看懂下面这段英文:

# 在模块time中的time是个函数,须留意有哪些参数

Help on built-in function time in module time:

import datetime # 导入datetime库

# 先看看datetime库里有哪些函数

for str in dir(datetime):

if not str.startswith('__' ):

print(str,end=",")

print()

# 查看库内的类帮助

help(datetime.date)

尝试去看懂下面这段英文:

# 在模块datetime中的date是个类,须留意有哪些方法和属性

Help on class date in module datetime:

【斩获成果】

对于语法格式题,暂时是不需要动脑子的,只是需要逐步用合理的步骤去探索

以本题为例

第一步:首先是问问自己会不会,会,那就做咯

第二步:不会,去搜索网站百度,bying去找,如果找不到,去技术博客,CSDN等去找,还是没有,去QQ群,微信群去问

一般情况下,以我的水平能问出来的问题,基本都能找到

比如如何在Python中获取日期时间,给予我的答案是使用日期时间库,time,或者datetime

第三步:怎么用,要具体到可回答的一个确切问题,比如如何表达今天的日期,再次搜索相关使用方式,或者采用help()加上翻译软件。

第四步:当学会之后,记得将所学习到的知识写入到我们的脑海里

通过本题的解答,我们学会了这两个库的简单使用方式,更多的内容,请记得自行探索

通过本题的学习,你要慢慢学会提取关键字,学会用关键字搜索,学会提问,学会整理记忆,假如碰到日期时间方面的问题,可以导入这两个库,并通过库内的函数来解决问题

举一反三,抛出问题:

1.如何获得下周一的日期

【下一题预告】

来源:菜鸟教程

序号:17

描述:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值