首页 > 编程 > Python > 正文

python中关于日期时间处理的问答集锦

2020-02-23 04:52:01
字体:
来源:转载
供稿:网友

如何在安装setuptools模块时不生成egg压缩包而是源码

    Q:如何在安装setuptools模块时不生成egg压缩包而是源码,这样有时可以修改代码进行调试
    A:其实很简单,就在setup.py中的setup函数中增加 zip_safe=False, 参数即可。

    这样安装后的东西不再是一个egg文件了,而是象以前一样的目录结构。

    如何判断一个字符串只包含数字字符
    这是在 Python.list 邮件列表上看到的讨论

    Q:如何判断一个字符串只包含数字字符

    A:一种方法是 a.isdigit()。但这种方法对于包含正负号的数字字符串无效,因此更为准确的为:
        try:
            x = int(aPossibleInt)
            ... do something with x ...
        except ValueError:
            ... do something else ...

    这样更准确一些,适用性也更广。但如果你已经确信没有正负号,使用字符串的isdigit()方法则更为方便。

    知道某天,如何得到上星期的日期
    这是有人向我问的一个问题,记录在下面:

    Q: 我要写的小程序是这样的,写一个python脚本去返回上个星期的天数 in the format "YYYYMMDD"比如日期是20051122,返回结果是:["20051113", "20051114", "20051115", "20051116", "20051117", "20051118", "20051119"]

    A:首先将字符串的'yyyymmdd'转为 (year, mon, day),简单的可以:
         >>> date = '20051122'
         >>> year, mon, day = int(date[:4]), int(date[4:6]), int(date[6:])

    然后使用 datetime 得到一个 datetime 对象
         >>> import datetime
         >>> d = datetime.datetime(year, mon, day)
    因为 datetime 对象可以得到一个天数的星期日数(weekday),根据这个数向前推即可。
         >>> d.weekday()
         1

    文档上说,星期一是 0,则此上面就是星期二。看你的要求是从星期日开始算第一天,因此上个星期六就是:指定日期-它的星期日数-2
    知道星期六了,就知道上个星期的每天时间了
         >>> b = d - datetime.timedelta(d.weekday() + 2)
         >>> days = []

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表