在kubernetes pod上获取pod创建日期而不是当前日期的问题。

问题描述 投票:0回答:1

我有一个web服务,我发布使用kubernetes。而我是通过看日期来做当前的交易,如果我今天已经交易了,我就不会再做了。我的问题是,我昨天或2,3天前部署的系统给出datetime.now()输出的pod创建日期。它的行为,因为没有当前的交易。

def timestamp_converter(timestamp=datetime.timestamp(datetime.now(pytz.UTC)), t_delta=0):
    '''
        Fix timestamp to date
    '''
    a = datetime.fromtimestamp(timestamp, pytz.UTC) + timedelta(t_delta)
    res = int(datetime.timestamp(datetime(a.year, a.month, a.day, tzinfo=pytz.UTC)) * 1000)
    return res

ts = timestamp_converter()

输出。

1588107600000 # '2020/04/29'

但今天是1588234224371(20200430)

python web-services datetime kubernetes pod
1个回答
0
投票

在Stackoverflow里,我又在写自己问题的解决方案了。 :)是的,如果我们来解决。我很受启发。说实话,我不会发现这个错误。

我今天才知道。在定义函数的时候,默认值工作了一次。在这种情况下,它的默认值是安装豆荚的日期。而第二天,第二天,后天,接受下面函数的 "时间戳 "参数。

def timestamp_converter(timestamp=datetime.timestamp(datetime.now(pytz.UTC)), t_delta=0):
    '''
        Fix timestamp to date
    '''
    a = datetime.fromtimestamp(timestamp, pytz.UTC) + timedelta(t_delta)
    res = int(datetime.timestamp(datetime(a.year, a.month, a.day, tzinfo=pytz.UTC)) * 1000)
    return res

我将上面的代码替换为

def timestamp_converter(timestamp=None, t_delta=0):
    '''
        Fix timestamp to date
    '''
    timestamp = timestamp or datetime.timestamp(datetime.now(pytz.UTC))
    a = datetime.fromtimestamp(timestamp, pytz.UTC) + timedelta(t_delta)
    res = int(datetime.timestamp(datetime(a.year, a.month, a.day, tzinfo=pytz.UTC)) * 1000)
    return res
© www.soinside.com 2019 - 2024. All rights reserved.