获取北京时间授时api stm32 esp8266获取北京时间、年月日、星期api GMT格林威时间转换北京时间
发布日期:2021-05-07 13:31:54 浏览次数:18 分类:精选文章

本文共 1331 字,大约阅读时间需要 4 分钟。

苏宁获取北京时间的api不要太方便:

使用 Fidder抓包调试,查看HTTP返回报文:

 

双击左侧抓取到的HTTP返回报文。使用 SyntaxView 插件查看的返回消息。

HTTP返回的消息:

{"sysTime2":"2020-08-07 16:33:25","sysTime1":"20200807163325"}

则当前的北京时间为: 2020年8月7日  16时33分25秒

有年月日,有时间。美中不足的是没有 星期几

 

如果要获取星期几,可以从 HTTP返回报文的帧头提取

使用 Raw插件查看。

HTTP/1.1 200 OKDate: Fri, 07 Aug 2020 08:33:25 GMTContent-Type: text/html;charset=UTF-8Content-Length: 62Connection: keep-aliveServer: styxSet-Cookie: tradeLdc=NJYH;Expires=Fri, 07-Aug-20 20:33:25 GMTSet-Cookie: tradeLdc=NJGX_YG;Expires=Fri, 07-Aug-20 20:33:25 GMTCache-Control: no-cache,no-store,max-age=0,s-maxage=0Access-Control-Allow-Credentials: trueX-Ser: BC15_yd-anhui-huainan-4-cache-1X-Cache: MISS from BC15_yd-anhui-huainan-4-cache-1(baishan){"sysTime2":"2020-08-07 16:33:25","sysTime1":"20200807163325"}

 

Date: Fri, 07 Aug 2020 08:33:25 GMT

HTTP返回报文的帧头,携带有 GMT 格林威治标准时间,我们可以从中算出其他时区的时间。

北京时间是 GMT+8小时。而星期可不像日期那样分大小月平闰年,是可以完全无差别计算的。

所以只要将获取到的 GMT时间+8,如果 (+8后的值 > 24:00:00),则 星期+1,否则 星期不变。

如果 星期 > 7,星期 -= 7。

 

- 例如现在GMT时间为:08:33:25 ,推算出北京时间为:16:33:25

而(16:33:25 < 24:00:00),则星期不变。

 

- 如果返回消息为:Date: Fri, 07 Aug 2020 20:33:25 GMT

GMT时间为:20:33:25 ,推算出北京时间为:28:33:25

而(28:33:25 > 24:00:00),则星期+1,Fri星期五 变为 Sat星期六。

 

- 如果返回消息为:Date: Sun, 07 Aug 2020 20:33:25 GMT

GMT时间为:20:33:25 ,推算出北京时间为:28:33:25

而(28:33:25 > 24:00:00),则星期+1,Sun星期七 变为 星期八。

而 (星期八 > 星期七),则 星期八 -= 7,即为 Mon星期一。

 

上一篇:DW06、DW07 锂电保护IC手册电路,锂电池过充过放过流短路保护芯片电路
下一篇:使用 Fiddler 调试 心知天气,stm32 esp8266获取天气api

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年03月27日 09时38分01秒