Python获取网络时间戳的两种方法详解
作者:幸福的达哥 发布时间:2023-04-11 06:38:21
标签:Python,时间戳
在我们进行注册码的有效期验证时,通常使用获取网络时间的方式来进行比对。
以下为获取网络时间的几种方式。
方法一
需要的时间会比较长,个别电脑上可能会出现不兼容现象
代码实现
def get_web_server_time(self, host_URL, year_str='-', time_str=':'):
'''
获取网络时间,需要的时间会比较长,个别电脑上可能会出现不兼容现象
:param host_URL: 目标网址,如:https://www.baidu.com/
:param year_str: 年份中间的间隔字符,如:2019-11-22
:param time_str: 小时和分钟中将的间隔字符,如:12:30:59
:return: 返回时间字符串,如:2019-11-22 12:30:59
'''
conn = http.client.HTTPConnection(host_URL)
conn.request("GET", "/")
r = conn.getresponse()
# r.getheaders() #获取所有的http头
ts = r.getheader('date') # 获取http头date部分
print(ts)
# 将GMT时间转换成北京时间
ltime = time.strptime(ts[5:25], "%d %b %Y %H:%M:%S")
print(ltime)
ttime = time.localtime(time.mktime(ltime) + 8 * 60 * 60)
print(ttime)
year_out = "{}{}{:0>2}{}{:0>2}".format(ttime.tm_year, year_str, ttime.tm_mon, year_str, ttime.tm_mday)
time_out = "{:0>2}{}{:0>2}{}{:0>2}".format(ttime.tm_hour, time_str, ttime.tm_min, time_str, ttime.tm_sec)
output_str = year_out + "" + time_out
print("目标网址={} 的网络时间={}".format(host_URL, output_str))
print("return 时间={}".format(output_str))
return output_str
调用方法
if __name__ == '__main__':
test=Admin()
test.get_web_server_time('www.baidu.com')
返回结果
目标网址=www.baidu.com 的网络时间=2022-01-11 19:58:02
return 时间=2022-01-11 19:58:02
方法二
获取网络时间,返回时间格式为毫秒:2019-12-13 11:39:48.398
代码实现
def get_web_now_time(self, time_format='YYYY-MM-DD HH:mm:ss.SSS'):
"""
获取网络时间,返回时间格式:2019-12-13 11:39:48.398
:param time_format:控制返回字符串的格式,默认为:'YYYY-MM-DD HH:mm:ss.SSS'
:return:
"""
import arrow as ar
import requests as req
print('\n========= 获取网络时间 =========')
try:
res = req.get('https://www.baidu.com/').headers['Date']
# res = req.get('https://www.hao123.com/').headers['Date']
time_diff = ar.get(res[4:-4], 'DD MMM YYYY HH:mm:ss') - ar.now().floor('second')
web_now_time = (ar.now() + time_diff).format(time_format)
print('web_now_time={}'.format(web_now_time))
return web_now_time
except BaseException as e:
print('获取网络时间出错,出错原因:{}'.format(e))
return -1
调用方法
if __name__ == '__main__':
test=Admin()
test.get_web_now_time()
返回结果
========= 获取网络时间 =========
web_now_time=2022-01-11 22:37:30.360
来源:https://blog.csdn.net/zh6526157/article/details/122424784


猜你喜欢
- 一般情况下,使用pip命令安装即可:[root@dthost27 ~]# pip install mysql-python但是在实际工作环境
- (1)函数的分类:内置函数:python内嵌的一些函数。匿名函数:一行代码实现一个函数功能。递归函数自定义函数:根据自己的需求,来进行定义函
- 1. 引言现在有一个需求是从一个单词表中每次随机选取三个单词。这个表的建表语句和如下所示:mysql> Create table &#
- 客户/服务器体系结构图形化的用户界面,使系统的管理更加直观和简单。丰富的编程接口,为用户进行应用程序设计提供了更大的选择余地。与Window
- random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。•random.seed(x)改变随机数生成器的种子seed。一般
- 记得在网上Down的很多源码用的最多的一种方式就是:var ie = document.all();这是因为IE浏览器的document下有
- 或许马上,或许几年之后,但是有迹象显示IE浏览器占统治地位的时代即将结束。在数据分析公司Net Applications的排名中,IE的市场
- 大家好,我们经常会有这样的需求。比如下图我们需要把同一个省份的合并起来,如下图的效果如何实现呢,这是原有的df直观的操作是这样的:df.to
- Pytorch转ONNX的意义一般来说转ONNX只是一个手段,在之后得到ONNX模型后还需要再将它做转换,比如转换到TensorRT上完成部
- Tuple概述在Python中使用元组(Tuple)存储一组信息,其特征如下:1、使用()定义元组2、元组中使用逗号 , 分割各元素;各元素
- 前言在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Py
- Java基础—学生信息管理系统(使用数据库),供大家参考,具体内容如下前一段时间写了学生信息管理系统(使用ArrayLi
- 前言如题目所述,又是花费了两天的时间实现了该功能,本来今天下午有些心灰意冷,打算放弃嵌入到Scoll Area中的想法,但最后还是心里一紧,
- 一丶为什么数据库需要锁数据库锁设计的初衷是处理并发问题。作为多用户共享 的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而
- 1.在官网下载MySQL5.7安装包:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz。下载地址:htt
- 当在php中使用mb_detect_encoding函数进行编码识别时,很多人都碰到过识别编码有误的问题,例如对与GB2312和UTF- 8
- <html> <head> <title>JavaScript Data Access Test<
- 前段时间我通过观察韩国网站和其他作品发现了普遍存在黄金分割这样一个规律,不过只跟色相有关,明度、纯度还没做研究,今天看到论坛一篇“网页配色之
- 本文实例形式讲解了Python3的条件与循环控制语句及其用法,是学习Python所必须掌握的重要知识点,现共享给大家供大家参考。具体如下:一
- 本次爬虫用到的网址是:http://www.netbian.com/index.htm: 彼岸桌面.里面有很多的好看壁纸,而且都是可以下载高