python时间处理之date

#!/usr/bin/python
# -*- coding:utf-8 -*-
"""
date的用法 (test_datetime.py)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Created by bixiaofan <wirelessqa@163.com> on 2018/1/24 at 上午9:46
"""

import time

from datetime import date


def test_datetime_date():
    #### 1. date常用的类方法和类属性

    # date对象所能表示的最大日期:9999-12-3
    assert str(date.max) == "9999-12-31"
    # date对象所能表示的最小日期: 0001-01-01
    assert str(date.min) == "0001-01-01"
    # 返回一个表示当前本地日期的date对象: 2012-09-12
    print('date.today(): {}'.format(date.today()))
    # 将Gregorian日历时间转换为date对象(Gregorian Calendar :一种日历表示方法,类似于我国的农历,西方国家使用比较多):
    # 1347442385.972转换为2012-09-12
    print('date.fromtimestamp(): {}'.format(date.fromtimestamp(time.time())))

    #### 2. date提供的实例方法和属性

    # 获得年 月 日
    now = date(2012, 9, 17)
    assert now.year == 2012
    assert now.month == 9
    assert now.day == 17

    # date.replace(year, month, day):生成一个新的日期对象
    # 用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)
    tomorrow = now.replace(day=18)
    nextmonth = now.replace(month=10)
    nextyear = now.replace(year=2013)

    assert str(tomorrow) == "2012-09-18"
    assert str(nextyear) == "2013-09-17"
    assert str(nextmonth) == "2012-10-17"

    # 返回星期几,星期一 ==0 ... 星期天  == 6
    assert now.weekday() == 0

    # 返回标准的星期几,星期一 ==1 ... 星期天  == 7
    assert now.isoweekday() == 1

    # 返回格式如(year,month,day)的元组;
    assert now.isocalendar() == (2012, 38, 1)

    # 返回格式如'YYYY-MM-DD’的字符串;
    assert str(now.isoformat()) == '2012-09-17'

    #### 3. 日期操作
    now = date.today()  # 今天
    tomorrow = now.replace(day=now.day + 1)  # 明天
    print("now: {} tomorrow: {}".format(now, tomorrow))

    # 计算出间隔时间
    delta = tomorrow - now
    assert str(delta) == "1 day, 0:00:00"
    assert now + delta == tomorrow
    assert tomorrow > now

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕小烦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值