龙空技术网

Python Flask服务器日历项目,datetime日期时间模块

黑猫编程 1686

前言:

当前姐妹们对“python中的时间模块”都比较着重,兄弟们都想要分析一些“python中的时间模块”的相关内容。那么小编在网络上搜集了一些有关“python中的时间模块””的相关文章,希望你们能喜欢,朋友们一起来了解一下吧!

获取当前时间

一寸光阴一寸金,寸金难买寸光阴,没有人能阻止时间的流逝,它一直在滴答滴答的走着,如果此时眼前只有 python 编辑器,你能借助 python語言 得到当前的时间么?

其实python中的datetime时间模块即可,先使用import导入这个模块,datetime模块中包含多个功能类,现在用到的是表示日期时间的datetime这个类,通过调用它的now方法来获取当前日期时间,结果是一个datetime对象,将其赋值给变量now,使用print打印,会输出datetime对象中的具体日期时间,得到的结果,格式是年月日,空格,时分秒,这个秒是精确到小数点之后6位。

时间组成

我们每时每刻都在接触着时间,无论是过去还是现在。我们一般说的时间是由当前日期和当前时间组成。日期比如是2020年11月26号,也就是年月日信息;时间比如12时27分38.342003秒,也就是时分秒信息。

获取日期

如果你是一个记者,当有新闻事件发生时,需要记录事件发生的日期。怎么使用python程序获取日期呢?

获取时间

相信同学们都有过和时间赛跑的经历,比如上学时因为睡过头迟到而导致的争分夺秒的事情。那么我们如何在python中获取当前时间,也就是时分秒呢?

获取年月日

地球绕太阳公转一周,形成“年”的概念,公转一周用时1年,一年大约有365天,这1年中会出现春夏秋冬四个季节。月球绕地球公转一周,形成的概念,一月大约是30天。地球自转产生的昼夜交替现象,形成了的概念,地球自转一周为一日。那怎么在 python 中单独获取当前的年,月,日呢?

获取时分秒时间格式化概念

下图中左边有3种不同格式的时间,右边的时间是项目中微博评论中使用的格式。大家能找到左边和右边时间格式的区别么?

第1个格式的时间,秒后是不带小数位;第2个格式的时间,年月日之间用斜杠分隔,并且秒后面也不带小数位;第3个格式,没有显示年份和秒数。

如何将日期时间由这种格式,转成我们想要的格式呢?这就要用到日期时间的格式化了!所谓格式化,就是按照一定的格式来输出日期时间。那要表示格式,就要用到格式化符号了。

格式化符号

格式化符号前都有一个百分号,%大写的Y表示年,y就是年year的首字母;%m表示月,m是月month的首字母;%d表示日,d是日day的首字母好,这是表示年月日的格式化符号。那时分秒的格式化符号是什么呢?时,用%H大写的H表示,h是小时hour的首字母;分,用%M大写的M表示,m是分钟minute的首字母;秒,用%S大写的S表示,s是秒second的首字母。

strftime

输出下图如右上角格式的日期时间:首先调用 datetime.datetime.now() 获取到当前日期时间的datetime对象。然后调用datetime对象now 的strftime方法来设置日期时间的格式,这里strftime中的f是单词format的首字母,表示格式化。

下面先来设置年月日的显示格式。年月日分别用%Y,%m,%d表示,它们之间使用横杠隔开,时分秒分别用%H,%M,%S表示,它们之间使用冒号隔开,然后使用print输出格式化后的时间time,并且使用type函数打印下time的类型。

12小时制

表示时间时,可以使用24小时制,或者12小时制。24小时制用数字0-23来表示一天当中的24个小时,12小时制把一日二十四小时分为两个时段,分别为上午和下午,每个时段由十二个小时构成,以数字12、1、2、3、4一直到11依次表示。上午时段由午夜至中午,而下午时段由中午至午夜。使用%H表示使用24小时制,使用%I表示使用12小时制。

写代码练习下%I%H的使用。还是先获取当前日期时间的datetime对象,然后调用datetime对象now的strftime方法,在参数中设置格式,%I表示使用12小时制,%H表示使用24小时制。然后分别打印time1和time2的值。

打印结果如下:发现晚上8点钟,12小时制表示就是08,24小时制表示就是20。

时间差timedelta

@app.route('/time', methods=['GET'])def get_date():    # 在下方写你的代码:获取产品生产耗时参数:day、hour、minute    day = int(request.args.get('day'))    hour = int(request.args.get('hour'))    minute = int(request.args.get('minute'))    # 创建2210年3月24号的时间对象    date = datetime.datetime(year=2210, month=3, day=24)    # 创建时间差对象    delta = datetime.timedelta(days=day, hours=hour, minutes=minute)    # 计算产品生产时间    time = date + delta    # 渲染 projects.html,返回数据 time    return render_template('projects.html', time = time)
字符串转时间对象strptime
@app.route('/date')def set_date():    # 在下方写你的代码:获取请求参数 date、state    date = request.args.get('date')    state = request.args.get('state')    # print(date, state)    # 把时间字符串转为时间对象    time = datetime.datetime.strptime(date, '%Y-%m-%d')    # 在 calendar 集合中插入文档:保存当天日期和当天状态    db.calendar.insert_one({'time':time, 'state':state})    # 使用 jsonify 返回 {'result': 'success'}    return jsonify({'result': 'success'})
calendar日历模块
import calendarcal = calendar.month(2022, 9)print(cal)print(type(cal))
# 在下方写你的代码:输出2022年一整年日历cal = calendar.calendar(2022)
@app.route('/calendar')def get_calendar():    # 在下方写你的代码:获取2022年的HTML日历    # data = calendar.calendar(2022)    html_cal = calendar.HTMLCalendar()    data = html_cal.formatyear(2022)    return render_template('index.html', data=data)
时间戳
from data_init import dbimport datetime# 在下方写你的代码:获取当前时间的时间戳并转为总微秒数,再调用int函数转为整数now = datetime.datetime.now()stamp = int(now.timestamp() * 1000000)# 在数据库中插入订单信息并查询打印db.order.insert_one({'order_number':stamp, 'amount':156.37, 'payment':'支付宝'})print(db.order.find_one({'order_number': stamp}))
from data_init import dbimport datetimestamp = 956402061.0# 在下方写你的代码:查询时间戳 stamp 对应的商品文档并打印data = db.goods.find_one({'time': stamp})print(data)# 如果商品存在if data:    # 把商品中的时间戳转为日期时间对象    time = datetime.datetime.fromtimestamp(data['time'])    # 再把日期时间对象转为字符串并打印    str_time = time.strftime('%Y/%m/%d %H:%M:%S')    print(str_time)# 如果商品不存在,则打印“验证失败”else:    print('验证失败')
相关推荐Python Flask登录和POST请求,云相册项目 Flask模块,Python后端最简洁的服务器框架 Flask http协议和get请求 一文详解Python Flask模块设置Cookie和Session Python Flask服务器模块,模板for循环和模板过滤 一文详解Python Flask模块,自定义错误页面、日志和蓝图模块

标签: #python中的时间模块