解决python 使用time.loacltime()获取当前时间不准问题

python获取时间字符串的时间差 阅读详情

解决python 使用time.loacltime()获取当前时间不准问题

作为python小白的我,果然容易犯很多低级的错误或者说又不自觉想当然了,导致又花费了好长时间处理BUG。

我在我的爬虫代码开始时记录了程序开始时间,代码如下:

startTime = time.strftime("%Y-%m-%d %H:%m", time.localtime())

相信大佬一眼就能看出我这段代码中存在的问题,但作为小白的我一开始对这个我对照着百度到的时间转化格式类推出来的代码自豪无比:

time.strftime("%Y-%m-%d", time.localtime())

运行程序没报错,而且最巧合的是运行当时出来的结果和电脑显示的一致,完美,ok,问题解决,运行爬虫没问题就放一旁没管了。

我的爬虫设置的运行频率是每10分钟运行一次(包含爬取一遍的时间),到晚上9点半结束,因为是小白就简单粗暴的通过计算白天开始时间到21:30用多少个10分钟,然后用for循环将程序运行这么多遍,当天晚上满心欢喜的打开程序发现都快10点了竟然还在运行最后一遍,因为我爬虫的性质这个时候再爬毫无意义,所以我就直接手动停止了,并且以为是四舍五入的原因,没有去追根寻底,实时表明程序任何不符合预期的现象发生都意味着自己的代码在某些地方有问题,需要我们去追根到底。

回到本文的问题所在,第二天程序偏差更大了,这次我无法忽视了,就将程序停了,将这段代码单独运行了一下,果然时间对不上,立马跑去问度娘,搜到说可能是时区问题,却都没有给出具体怎么加时区的方法,无奈只能搜寻其他回答,试过一下几种方法

startTime = time.strftime("%Y-%m-%d %H:%m", time.now()) #报错
startTime = time.strftime("%Y-%m-%d %H:%m", time.localtime(0)) #报错
startTime = time.strftime("%Y-%m-%d %H:%m", time.localtime(tm_isdst=0))#报错
startTime = time.strftime("%Y-%m-%d %H:%m", time.localtime(sece)) #报错
startTime = time.strftime("%Y-%m-%d %H:%m", time.localtime(time.time()))#没报错但时间还是对不上	

以上就是我根据百度到的进行的各种尝试,还是报错,就试着打开time的源码查看,翻到这块代码介绍才恍然大悟

    Commonly used format codes:
    
    %Y  Year with century as a decimal number.
    %m  Month as a decimal number [01,12].
    %d  Day of the month as a decimal number [01,31].
    %H  Hour (24-hour clock) as a decimal number [00,23].
    %M  Minute as a decimal number [00,59].
    %S  Second as a decimal number [00,61].
    %z  Time zone offset from UTC.
    %a  Locale's abbreviated weekday name.
    %A  Locale's full weekday name.
    %b  Locale's abbreviated month name.
    %B  Locale's full month name.
    %c  Locale's appropriate date and time representation.
    %I  Hour (12-hour clock) as a decimal number [01,12].
    %p  Locale's equivalent of either AM or PM.

在我使用"%Y-%m-%d %H:%m"格式化日期在表达分钟时用的是小写m,而在strftime()函数中m表示月份,大写的M才是表示分钟,所以导致时间不一致,将m改成M一运行程序:

startTime = time.strftime("%Y-%m-%d %H:%M", time.localtime())

瞬间热泪盈眶,总算对了。

  • 总结

编程的时候一定要细心细心再细心,不能想当然,遇到异常要追根溯源,才能及早发现问题并纠正。希望我犯的低级错误大家不要犯,若不小心出现和我一样的问题,也能快速定位到问题所在!

一次BUG一次成长,又学到新的知识了!

Flink项目基础配置指南 在大数据处理领域,Apache Flink凭借强大的实时流处理和批处理能力,成为众多开发者的首选工具。在日常工作中,开发Flink Jar任务是常见需求,但每次都需重复配置日志、梳理pom依赖、设置打包插件等,流程繁琐且易出错。为提升开发效率,减少重复劳动,将这些基础配置进行整理归纳十分必要。本文将围绕Flink项目的本地日志配置、pom依赖及插件配置展开详细介绍,为开发者提供一套可直接复用的基础配置方案,助力Flink项目高效开发。在Flink项目中,日志是了解任务运行状态、排查问题的重要依据。本地日志配 阅读详情

相关推荐

Unity中URP下的菲涅尔效果实现(个性化修改)

在上篇文章中,我们实现了 URP 下的菲涅尔基础效果,我们在这篇文章中,对其进行自定义化修改。

楠溪泽岸的博客 2063

python localtime 与utc时间差5分钟_在linux中用localtime()显示的时间与实际时间不相符,不是与北京时间差8个小时,而是差15个小时...

为方便调试程序,输入数据我用了空格。#include #include void main(){struct tm *ptm;time_t rawtime, t;int year,month,mday,hh,mm,ss;time ( &rawtime );ptm = gmtime ( &rawtime ); //建 UTC 时间printf("Please enter y...

weixin_30474629的博客 387

RT-Thread新手必看:FMT飞控移植中的5个常见坑及解决方案

本文针对RT-Thread新手在移植FMT开源飞控时遇到的5大核心挑战,提供了深度解决方案。内容涵盖SCons构建系统配置、RT-Thread版本API兼容性处理、BSP与设备驱动适配、TOML系统配置解析以及算法模块集成调试,帮助开发者高效避坑,成功完成飞控移植。

gin88的博客 250

linux localtime 获取时间不对,linux改时区 localtime()时间不同步

时区不对+800 与-400(可以用eate -R 查看) 导致localtime()算出来的时间总是晚12小时第一种 ntp第二种 tzselect第三种:1. #vi /etc/sysconfig/clockZONE=”Asia/Shanghai” UTC=false2.#vi /usr/share/zoneinfo/Asia/Shanghai,如果结尾不是GMT+8,则修改为GMT+83. ...

weixin_39968820的博客 3068

Wio-LR1121多频段LoRa模块技术解析与应用实践

LoRa技术作为低功耗广域物联网(LPWAN)的核心通信方案,通过独特的扩频调制技术实现远距离传输与强抗干扰能力。其工作原理基于CSS(Chirp Spread Spectrum)调制,支持动态调整扩频因子(SF)和带宽(BW)来平衡传输距离与数据速率。Wio-LR1121模块作为Semtech LR1121芯片的载体,创新性地整合了sub-GHz、S-Band和2.4GHz多频段支持,配合仅1.35μA的睡眠电流,为跨境物联网部署提供了硬件基础。在智慧农业、工业监测等场景中,开发者可通过SPI接口快速集成

weixin_33742618的博客 416

Skyworks SKY85331-11的Wi-Fi 6 (802.11ax)标准 2.4G 高功率WLAN前端模块解决方案

SKY85331-11是高度集成的2 GHz前端模块(FEM)包含2 GHz单刀双掷(SPDT)发送/接收(T / R)开关,2 GHz低噪声放大器(LNA)带旁路和一个2 GHz功率放大器(PA),用于大功率802.11ax应用程序和系统LNA和PA禁用功能可确保低漏电流 关闭模式。 包括一个集成的功率检测器以提供系统内的闭环功率控制。该设备提供Small (24-pin, 3 x 5 mm) (LGA)封装。 图1.引脚配置和封装如图所示 图2.信号引脚分配和功能引脚描述 图...

zhangbao19890622的博客 4505

python中的time库问题汇总

用time.gmtime()输出时间不正确 time.gmtime()得到的是格林威治0时区的时间,用time.localtime()得本地时间 import time t=time.localtime() #用print函数打印输出 print(time.strftime("%Y-%m-%d %I:%M:%S %p %A",t)) ...

weixin_43691072的博客 917

云漾AI创作平台实战:如何用GPT4.0+Midjourney快速生成商业级插画(附Prompt模板)

本文详细介绍了如何利用云漾AI创作平台结合GPT4.0和Midjourney快速生成商业级插画。通过智能文案生成与视觉化工作流,大幅提升创作效率,适用于电商、社交媒体等多种场景。文章包含实用Prompt模板和参数调整技巧,帮助设计师和内容创作者高效产出专业插画。

weixin_29251567的博客 219

python高精度定时器

python 定时器

m0_38076397的博客 7604

ADG同步性能优化:如何正确配置standby redolog避免WAIT_FOR_LOG状态

本文深入剖析了Oracle ADG(Active Data Guard)同步中常见的WAIT_FOR_LOG状态,指出其根源在于Standby Redo Log(SRL)配置不当。文章提供了从诊断到优化的完整实践指南,重点阐述了SRL大小匹配、组数充足等黄金配置法则,帮助架构师从根本上避免同步延迟,实现稳定高效的实时数据同步。

weixin_29200485的博客 334

Keras中神经网络可视化模块keras.utils.visualize_util安装配置方法

Keras中神经网络可视化模块keras.utils.visualize_util安装配置方法

jacke121的专栏 2759

time, loacltime, strftime, mktime

1)time.time()返回的是时间戳, # 时间戳:1459994552.51 2)time.localtime() # 本地时间 time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27, tm_wday=3, tm_yday=98, tm_isdst=0) 3)Pyth...

阿茂丶 756

第8讲:基于CST PCB Studio的电源完整性仿真(IR Drop + PDN)

本文系统介绍了电源完整性(PI)仿真的两大核心模块:直流IRDrop仿真与交流PDN阻抗仿真。文章详细阐述了两种仿真的原理、算法(PEEC和3DFE-FD)及完整操作流程,包括参数配置、软件实操步骤和常见问题解决方案。IRDrop仿真用于分析直流供电压降问题,PDN仿真则针对高频电源噪声和谐振问题。文中还提供了优化建议和故障排查方法,如调整铜箔厚度、优化电容布局等,为高速数字系统的电源完整性设计提供了全面的技术指导。(149字)

一只豌豆象的博客 239

python内建模块中的time模块

##################################【time时间模块】 import time t = time.time() # 获取当前的UTC时间 t = time.asctime() # 将时间元组转换为日期时间字符串(不传参数返回当前的时间) t = time.gmtime() # 用给定秒数转换为用UTC表达的时间元组(缺省返回当前时间元组) t = ...

我放低了酒杯 272

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python_time_module

3

ginkgo_dia的博客 254

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python获取文件修改时间 错误_Python旋转文件处理程序记录错误的时间戳ord

我的主管希望我解决“日志中的并发问题”,他说我们正在生成的日志文件在不同文件的开头/结尾处有混合的时间戳。即:第一个日志文件末尾有:[03/Dec/2013:13:55:19]---------------------[03/Dec/2013:13:55:20]---------------------[03/Dec/2013:13:55:20]---------------------第二个文件...

weixin_39839410的博客 152

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

python中time.localtime()转化时间戳错误提示 OSError: [Errno 22] Invalid argument

【代码】python中time.localtime()转化时间戳错误提示 OSError: [Errno 22] Invalid argument。

weixin_44158997的博客 1144

(已解决)date和localtime时间不一致

date显示的是CST标准时间,使用timedatectl查看localtime依旧为UTC时间。使用的系统为ubuntu 20.04,网上查了很多解决方案都没有解决,有大神知道该怎么解决吗?时区为Asia/Shanghai,但是显示却为(UTC+0000)

hobartmiu的博客 992

python timesleep定时跑着跑着时间就不准了为啥_Python 中为什么不建议使用 time.sleep 实现定时功能?...

有时候,我们想实现一个非常简单的定时功能,例如:让一个程序每天早上 8 点调用某个函数但我们又不想安装任何第三方库,也不会使用 crontab 或者任务计划功能,就想使用纯 Python 来实现可能有同学会这样写代码:importtimeimportdatetimedefrun():print('我是需要被每天调用的函数')defschedule():target_time=date...

weixin_35726374的博客 1820

python time库使用

time.localtime 查看年月日时分秒 import time timeTuple = time.localtime(time.time()) print("今年是",timeTuple[0],"年",timeTuple[1],"月",timeTuple[2],"号", timeTuple[3],"点",timeTuple[4],"分",timeTuple[5],"秒","星期",timeTuple[6]+1,"是今年的第",timeTuple[7],"天")

Tyrion1997的博客 1406

python显示实时时间校对_Python实现系统时间自动校正

最近由于台式机CMOS电池没电了,每次开机后系统时间都会被初始化。出于每次都要重新设置系统时间太麻烦的考虑,今天用Python实现了系统开机自动校正时间的程序。大致的思路是:首先产生一个windows service,该service在被启动之后通过urllib获得标准北京时间,并根据标准时间校对系统时间。具体代码如下:#SyncLocaltime.py#-*-coding=gbk-*-impor...

weixin_33511258的博客 1528

Python 的xlrd库读取日期和数字时输出显示不正确问题解决

这里是要读取的数据,有数字和日期,用xlrd库读取的时候会发现,数字后面多了个".0",读取的日期变成了时间戳。这当然不是我们想要的结果:因此需要优化代码。

shan_non的博客 1372

python计算时间差_利用python计算时间差(返回天数)

前言本文主要给大家介绍了关于python计算时间差(返回天数)的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧方法如下:将时间戳转换成日期格式:import timetime_stamp = 1547445305time_arr = time.localtime(time_stamp)data_time = time.strftime("%Y-%m-%d %H:%M:%S...

weixin_39810856的博客 381

impala常用时间函数大全(超详细)

本文目录时间函数 时间函数 当前时间戳 now() current_timestamp() 当前时间戳相对于 linux epoch 的秒数 unix_timestamp() , 不带参数, 则返回 '1970-01-01 00:00:00' UTC 到现在的秒数 转换到相对于 linux epoch 的秒数 unix_timestamp(now()+ interval 3 days), 如果传入 timestamp 参数, 返回该时间戳相对于 linux epoch 的秒数 unix_timestam

hua_ge_zui_liang的博客 2万+

python下的日期与时间(时间格式转换、时间戳处理,时间差处理)

python下的日期与时间 一、在Python中,时间主要有三种表示形式, 1.时间戳(TimeStamp):1970年1月1日之后的秒 2.时间元组格式化形式 包含了:年、日、星期 得到time.struct_time(tm_year=2017, tm_mon=10, tm_mday=14…) 3.可视化的字符串 2017-11-11 11:44 import time #1 时...

IT届的小学生 2万+

Python datetime time计算时间差

一、计算时间差 """ python主文件 """ # -*- coding: utf-8 -*- import time """===================================== 主函数 =====================================""" if __name__ == '__main__': # 获取当前开始的日期和时间,例:2022-02-05 14:20:36 strStartDateTime = time.strfti

星如雨落 1947
上一篇: python爬虫页面按钮未加载报错selenium.common.exceptions.NoSuchElementException问题解决
下一篇: oracle alter为表格增加一列,update不同条件下(case when)更新某列值
devoen
博客等级 码龄7年 1粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值