代码之家  ›  专栏  ›  技术社区  ›  user96564

python处理日期时间的方法参数

  •  -1
  • user96564  · 技术社区  · 6 年前

    我在巨蟒里练习日期时间。对于传递的第一个函数参数,python将作为一个元组处理,因为它的括号和第一个函数失败,但秒起作用。

    此功能失败

    from datetime import datetime, date
    def epochConverter(a):
        mydate = datetime.date(a)
        return datetime(mydate).timestamp() 
    
    
    epochConverter((2018,6,19,0,0,0))
    

    但这是可行的

    def epochConverter2():
        return datetime(2018,6,19,0,0,0).timestamp()
    
    print(epochConverter2())
    

    有人能给我解释一下吗?是吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Aviad Levy    6 年前

    发送tuple * 所以你可以把tuple中的int传递给 datetime 功能正常:

    from datetime import datetime, date
    def epochConverter(a):
        return datetime(*a).timestamp()
    print(epochConverter((2018,6,19,0,0,0)))
    
        2
  •  1
  •   JE_Muc    6 年前

    争论 a 传递给 datetime.date(a) 在第一个函数中,就像调用 datetime.date() 具有

    datetime.date((2018,6,19,0,0,0))
    

    这是一个 tuple .您可以使用

    def epochConverter(a):
        return datetime(*a).timestamp()
    

    (转换 mydate = datetime.date(a) 这里不需要。)

    或者需要单独传递所有参数:

    def epochConverter(Y, M, D, h, m, sec):
        return datetime(Y, M, D, h, m, sec).timestamp()
    
    epochConverter(2018, 6, 19, 0, 0, 0)