当接口请求体里的日期格式跟web页面日期格式不一致时,该如何处理呢?
首先引入Unix纪元时间戳的概念:即格林威治时间(GMT,Greenwich Mean Time)1970年1月1日00:00:00,到当前时间的秒数。单位为秒(s)。
那么当前时间的Unix纪元时间戳在python中怎么表达的呢?先看看如下案例:
上面我们看到这个日期框里面输入的值为日期格式(2019-10-19 23:59),输入参数后我们点击“发布个人作业”按钮后,通过F12查看到这个发布作业的接口的请求参数如下图:
发现endtime这个值跟我们前台传入的值不一样,这里它就用到了Unix纪元时间戳的表达方式,我们在做接口测试的时候,遇到这个问题该如何解决呢?
在python里,我们引入time和datetime模块,它们都是内置模块,无需安装
问题思考:1.如何将Unix纪元时间戳转换为日期格式?
2.如何将日期格式转换为Unix纪元时间戳?
通过以下代码演示如何转换:
1.将Unix纪元时间戳转换为日期格式,使用datetime.fromtimestamp()方法
import time
from datetime import datetime # Unix纪元时间戳转换为datetime日期格式
now_time = time.time() date_now_time = datetime.fromtimestamp(now_time) str_now_time = datetime.strftime(date_now_time, "%Y-%m-%d %H:%M:%S")
print(str_now_time, type(str_now_time))
2.将日期格式转换为Unix纪元时间戳,使用datetime.timestamp()方法
from datetime import datetime # datetime日期格式转换为Unix纪元时间戳
now_time = datetime.now() datetime_after_seven_day = round(datetime.timestamp(now_time))
print(datetime_after_seven_day, type(datetime_after_seven_day))
案例上的日期我们不能输入当前日期,必须要填入未来的日期,这个又该如何处理呢?datetime.datetime格式的数据可以通过datetime.timedelta()进行日期的加减操作,假如我们要将当前的日期加上7天,使用如下方法即可实现:
from datetime import datetime, timedelta # datetime日期格式转换为Unix纪元时间戳
now_time = datetime.now()
print(now_time, type(now_time)) after_seven_day = now_time + timedelta(days=7)
print(after_seven_day, type(after_seven_day)) datetime_after_seven_day = round(datetime.timestamp(after_seven_day))
print(datetime_after_seven_day, type(datetime_after_seven_day))
当接口请求体里的日期格式跟web页面日期格式不一致时,该如何处理呢?的更多相关文章
- django 请求体和请求体相关知识
请求头ContentType ContentType指的是请求体的编码类型,常见的类型共有3种: django 如果发送post请求,或者表单提交数据.如果不设置enctype属性. 就会以appli ...
- RobotFramework: 接口测试时,注意请求体content-type
使用Post Request关键字时 1.如果请求体的content-type为:application/x-www-form-urlencoded,则传参数时需要给params参数赋值 2.如果co ...
- Jmeter中使用HTTP信息头管理器发送json格式请求体的接口
Jmeter中,如果请求体的格式为x-www-form-urlencoded,则不需要添加请求头,保持默认即可,但是如果遇到接口的请求体格式为json时,就要用到HTTP信息头管理器,在线程组上右键— ...
- RIDE 接口自动化请求体参数中文时报错:“UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 9......”
在进行robotframework 接口自动化,在请求体参数中输入中文会报以下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 ...
- vue --- axios拦截器+form格式请求体
在vue2.x中使用CLI生成的模板有很大改变,需要自己手动在main.ts同级目录下新建interceptors.ts interceptors.ts import axios from 'axio ...
- requests接口自动化2-url里不带参数的get请求
最常用的是get,post请求,然后是put,delete,其他方法很少用 1. get请求几种方式 1.1.url里不带参数的get请求 接口请求fiddler返回内容: import reques ...
- Excel里的格式会自动变成日期或会计专用吗?(Excel技巧集团)
Excel里的格式会自动变成日期或会计专用? 正常情况下当然不会了,可是最近却有很多很多同学问这样的问题,并把这个问题列成了Excel2007和2010的一个Bug,可是小妖同学却从来没遇到过这样的问 ...
- iOS开发——网络篇——文件下载(NSMutableData、NSFileHandle、NSOutputStream)和上传、压缩和解压(三方框架ZipArchive),请求头和请求体格式,断点续传Range
一.小文件下载 NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/resources/images/minion ...
- HTTP 请求头与请求体 - 某熊的全栈之路 - SegmentFault
本文从属于笔者的HTTP 理解与实践系列文章,对于HTTP的学习主要包含HTTP 基础.HTTP 请求头与请求体.HTTP 响应头与状态码.HTTP 缓存这四个部分,而对于HTTP相关的扩展与引申,我 ...
随机推荐
- idea开发时springboot项目时的自动编译和热部署
前提:最好将idea的启动器设置一下 操作:1.file > Build,Execution,Deployment > Compiler 勾选 Build project automati ...
- 5 其他命令-学习目标以及find命令的基本使用
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- enter键的使用
vue全部的按键别名: .enter .tab .delete (捕获“删除”和“退格”键) .esc .space .up .down .left .right vue中 <input v-o ...
- kettle抽取数据发送邮件Linux调度
kettle抽取数据发送邮件Linux调度 #1.进入kettle安装目录 然后执行sqoop.sh文件启动kettlecd /app/pdi-ce-7.1.0.0-12/data-integrati ...
- Jrebel实现tomcat热部署,遇到的问题以及解决办法,详解
我的安装的详细过程: 下载Jrebel: https://github.com/ilanyu/ReverseProxy/releases/tag/v1.4 我的是winx64,所以选择如下的: 下载 ...
- 关于ASP.NET配置
字符串加密打开Vs的开发人员命令提示符 //加密web.config文件的连接字符串aspnet_regiis.exe -pef "connectionStrings" " ...
- 痞子衡嵌入式:开启NXP-MCUBootUtility工具的BEE/OTFAD加密功能 - image_enc
软件v1.x仅支持BEE加密: 为了便于大家快速验证软件BEE加密功能,特将用于BEE加密的image_enc工具上传至百度网盘,仅用作个人学习用途,违者后果自负. -- 链接: https://pa ...
- Java中15种锁的分类综合总结
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- 2018简约商务工作汇报工作总结公司培训团队介绍PPT模
这几款ppt模板都是简约大气类型的,32页足够丰富,有完整结构框架,可以修改文字图片直接套用模板,是通用的商务ppt模板. 模版来源:http://ppt.dede58.com/gongzuohuib ...
- SpringCloud(六):服务网关zuul-API网关(服务降级和过滤)
什么是API网关: 在微服务架构中,通常会有多个服务提供者.设想一个电商系统,可能会有商品.订单.支付.用户等多个类型的服务,而每个类型的服务数量也会随着整个系统体量的增大也会随之增长和变更.作为UI ...