首页 > 编程语言 >关于AWS-Lambda-Python运行时的Function函数中的坑点-日期和时间是UTC时区

关于AWS-Lambda-Python运行时的Function函数中的坑点-日期和时间是UTC时区

时间:2023-03-19 18:25:06浏览次数:55  
标签:Function UTC 00 03 Python 02 datetime 2023

最近笔者在使用Lambda函数时,遇到一个小问题,排查了些时间,才找到原因,

先说根本原因,那就是关于Lambda 函数代码中的日期和时间,都是取的UTC时间,并不是中国时间

这个可以说是一个坑点、也可以说成一个注意事项,大家在写代码时应该需要注意,先说一下笔者的遇到的问题过程

1、函数的部分代码如下,笔者首页是取出当前日期时间值,然后也设置了一个删除日期的变量为当前时间+1天

import json
import datetime

def lambda_handler(event, context):
    # TODO implement
    now=datetime.datetime.now()
    deletedate=(now+datetime.timedelta(days=1)).strftime("%Y-%m-%d")

这个代码的每天凌晨的00:00执行,笔者通过EventBridge (CloudWatch Events)创建的策略,关于计划日期也是UTC格式的,这点笔者倒时注意到了,如下

Schedule expression: cron(0 16 ? * * *)

举例说明,如2023-03-02凌晨00:00时,执行时,deletedate的结果还是2023-03-02(与预期的结果不同)

最后又分析代码加上调试才找到原因,因为根据计划任务,确实会在2023-03-02凌晨00:00时执行,但当时的UTC时间将是2023-03-01 16:00:00

这样,deletedate将是在2023-03-01 16:00:00的基础上+1天,计算时,结果将是2023-03-02 16:00:00,按日期格式化结果就是 2023-03-02

 

解决方法>>>>:

1、在计算日期时间时,应该对datetime再加上8小时,换算成中国时区的时间,那么对于面的deletedate就应该加上32小时

 

 

 

尊重别人的劳动成果 转载请务必注明出处: https://www.cnblogs.com/5201351/p/17233834.html

 

标签:Function,UTC,00,03,Python,02,datetime,2023
From: https://www.cnblogs.com/5201351/p/17233834.html

相关文章

  • Python之Time模块
    1.python的time模块介绍time模块是Python内置的处理日期和时间的模块,它提供了一些函数来处理时间和日期,包括获取当前时间、时间格式化、计算时间差等等。1.1.时间获取......
  • 【framework】InputChannel创建流程
    1前言IMS启动流程中介绍了IMS在Java层和Native层的初始化流程,以及创建NativeInputManager、InputManager、InputReader、InputDispatcher、EventHub等对象......
  • 孤狼老师-接口测试自动化(Python版完整版)-测试数据管理
                  先创建一个xml文件  解析xml文件: ......
  • Python之Pygame新建窗口
    #1、首先导入pygame模块、sys模块importpygame,sys#2、使用函数创建一个窗口,设置窗口的大小、背景、标题等参数#主程序defmain():#导入pygame的所有可用模块,程序检......
  • 进行一手Python的学
    3.19今天学完了Python的数据类型,先摆一会儿......
  • Python中通过反射来调用方法
    Isthereawaytopassinvokefunctionbymethodnameinstring,whichmeanscallthemethodbyreflectionYes,youcanusereflectioninPythontoinvokeame......
  • Python如何将Markdown转成HTML,Python-Markdown2类库的使用
    Python-Markdown2是Python语言中一款轻量级的Markdown转换器,它可以将Markdown文本转换成HTML文档。在本教程中,我们将学习如何使用Python-Markdown2库。安装Python-Markdown2......
  • 111python之不定长参数
    Python中的不定长传参指的是函数参数的个数不是固定的,这使得函数可以接受任意数量的参数。有两种方法来实现不定长传参:使用*args和**kwargs参数。*args:用于传递任意数......
  • python语句之列表推导式
    python语句之列表推导式列表推导式是python语言特有的一种语法结构,也可以看成是python中独特的数据处理方法它在python中用转换和过滤数据语法格式:[表达......
  • python输入与输出
    python输入与输出python输出值的方式有两种:表达式语句print()函数str.format()函数用来格式化输出值,可以让输出的形式多样化;repr()和str()函数可以将输出值改为......