日期时间转换为时间戳

2024-09-24 00:32:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写一些代码来过滤SalesForce中的记录,这些记录在一个以前没有的字段中。我已经放弃了尝试格式化一个从SalesForce过滤结果的查询,因为我没有尝试过works,也没有任何人建议使用works(它们都返回“格式错误的请求”)。不过,我也很乐意接受这方面的建议。在

所以,我决定这样做:

        now = datetime.now(pytz.UTC)
        disables = self.sssvc.query("select Name, Project__c, Ownerid, Id, DisableOn__c, User__c from PIXDisableUserTask__c WHERE Status__c = 'Pending'")
        for disable in disables[u'records']:
            disable_on = disable[u'DisableOn__c']
            if disable_on < now:
                continue
            else:
                disables.pop(disable)
            print
        return disables

但当我完成后,我最终得到了两个不兼容的日期格式进行比较。问题是,我不知道如何将datetime中的“now”和SalesForce中的“disable\u on”的值转换为可以比较的时间戳。我得到的是:

^{pr2}$

我知道我需要将disable从字符串更改为UTC中的实际日期时间对象,但我不知道要使用什么公式。在


Tags: 代码datetimeon格式错误记录时间now
1条回答
网友
1楼 · 发布于 2024-09-24 00:32:36

对于python3.x,可以使用以下格式-

%Y-%m-%dT%H:%M:%S.%f%z

示例/演示-

^{pr2}$

您也可以使用下面给出的dateutil.parser方法。在


对于Python2.x,Python2.x中没有实现'%z'指令(至少在我的Python2.6中没有实现),但是您可以使用^{}来解析日期-

>>> import dateutil.parser
>>> dateutil.parser.parse(u'2015-06-24T12:00:00.000+0000')
datetime.datetime(2015, 6, 24, 12, 0, tzinfo=tzutc())

注意-您也可以在Python3中使用dateutil。在


所以对于Python2.x,您的代码应该是-

import dateutil.parser
now = datetime.now(pytz.UTC)
disables = self.sssvc.query("select Name, Project__c, Ownerid, Id, DisableOn__c, User__c from PIXDisableUserTask__c WHERE Status__c = 'Pending'")
for disable in disables[u'records']:
    disable_on = dateutil.parser.parse(disable[u'DisableOn__c'])
    if disable_on < now:
        continue
    else:
        disables.pop(disable)
    print
return disables

相关问题 更多 >