代码之家  ›  专栏  ›  技术社区  ›  Zaz Volodymyr Null

Python​​`YYYY-MM-DD`

  •  2
  • Zaz Volodymyr Null  · 技术社区  · 14 年前

    在Python中,获取 RFC 3339 YYYY-MM-DD 输出的文本 gtk.Calendar::get_date()

    3 回复  |  直到 14 年前
        1
  •  4
  •   Zaz Volodymyr Null    14 年前

    感谢Mark和treeface提供的解决方案,但似乎我发明了一个更好的解决方案:

    year, month, day = cal.get_date()
    return '{0:04d}-{1:02d}-{2:02d}'.format(year, month+1, day)
    

    这个解决方案更短,更容易理解(在我看来),而且我相信它减少了元组转换为UNIX时间的阶段,因此需要更少的处理。

        2
  •  2
  •   Mark    14 年前

    docs ,get\u date返回一个元组(year,month,day),其中0到11个月,day是1到31,因此:

    import datetime
    dtTuple = calControl.get_date()
    dtObj = datetime.datetime(dtTuple[0], dtTuple[1] + 1, dtTuple[2]) #add one to month to make it 1 to 12
    print dtObj.strftime("%Y-%m-%d")
    
        3
  •  0
  •   treeface    14 年前

    这可能对您有用:

    http://www.tutorialspoint.com/python/time_strftime.htm

    我还四处寻找了这个gtk get_date方法,找到了一些这样处理它的代码:

    //here replace "self.window.get_date()" with "gtk.Calendar::get_date()"
    year, month, day = self.window.get_date()
    mytime = time.mktime((year, month+1, day, 0, 0, 0, 0, 0, 0))
    return time.strftime("%x", time.gmtime(mytime))