目录
isoweekday和weekday的区别datetime.date类介绍isoweekday和weekday的区别
import datetime datetime.datetime.now() 表示当前时间 datetime.datetime.now().isoweekday() # 返回1-7,代表周一到周日,当前时间所在本周第几天; datetime.datetime.now().weekday() # 返回的0-6,代表周一到周日
另外,标准格式 %w 中,1-6表示周一到周六,0代表周日
import datetime now_time = datetime.datetime.now() # 当前时间 print(now_time) day_num = now_time.isoweekday() # 当前时间所在本周第几天 print(day_num) monday = (now_time - datetime.timedelta(days=day_num-1)) # 本周周一时间 print(monday) ---------- 2019-06-20 09:45:07.349007 4 2019-06-17 09:45:07.349007
datetime.date类介绍
date类是一个日期类,由年、月、日组成。
由于Python也是面向对象编程语言,所以针对类,就会有构造函数,该类的构造函数如下:
(相关资料图)
class datetime.date(year, month, day):
year
: 表示年,范围[MINYEAR, MAXYEAR],即[1, 9999]month
: 表示月,范围[1, 12]day
:一月中第几天,最大值根据给定的year,month参数来决定。例如闰年2月份有29天
一、date对象所能表示的最大最小日期,返回的是datetime.date类型的对象
>>> import datetime >>> datetime.date.max datetime.date(9999, 12, 31) >>> print datetime.date.min 0001-01-01 >>>
二、date.today() 函数:返回一个当前本地日期的date类型的对象
>>> datetime.date.today() datetime.date(2018, 1, 16) >>> print datetime.date.today() 2018-01-16 >>>
三、date.fromtimestamp()函数:根据给定的时间戳,返回一个date对象
>>> import datetime >>> import time >>> now=time.time() >>> print now 1516110787.69 >>> s=datetime.date.fromtimestamp(now) >>> s datetime.date(2018, 1, 16) >>> print s 2018-01-16 >>>
四、date.weekday()函数:参数必须是一个date类型的对象,返回该日期是一周中的第几天。返回值是一个整型。星期一,返回0;星期二,返回1。。。
>>> s=datetime.date.today() >>> print s 2018-01-16 >>> s datetime.date(2018, 1, 16) >>> type(s)>>> d=datetime.date.weekday(s) >>> d 1 >>> print d 1 >>> type(d) >>>
五、date.isoweekday()函数:该函数需要一个datetime.date类型的参数。返回weekday中的星期几,星期一,返回1;星期二,返回2;以此类推。
>>> s=datetime.date.today() >>> print s 2018-01-16 >>> s datetime.date(2018, 1, 16) >>> d=datetime.date.isoweekday(s) >>> d 2 >>> type(d)>>>
六、date.isocalendar()函数:该函数需要一个datetime.date类型的参数。返回date类型对象中的year(年),week(周),weekday(一周中的第几天),返回值是一个元组
>>> s=datetime.date.today() >>> print s 2018-01-16 >>> s datetime.date(2018, 1, 16) >>> d=datetime.date.isocalendar(s) >>> d (2018, 3, 2) >>> print d (2018, 3, 2) ----代表2018年中的第3周,第三周中的第2天 >>> type(d)>>>
>>> s=datetime.date(2018,1,14) >>> s datetime.date(2018, 1, 14) >>> print s 2018-01-14 >>> d (2018, 3, 2) >>> d=datetime.date.isocalendar(s) >>> d (2018, 2, 7) ----代表2018年中的第3周,第三周中的第7天 >>>
七、date.strftime(fmt)返回自定义格式的时间字符串。fmt是自定义的时间格式
>>> a=datetime.date.today() >>> a datetime.date(2018, 1, 16) >>> b=a.strftime("%Y-%m-%d %H:%M:%S") >>> b "2018-01-16 00:00:00" >>> print b 2018-01-16 00:00:00 >>> type(b)>>>
八、.replace(year, month, day):生成一个新的日期对象 用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)
>>> date1 datetime.date(2018, 1, 16) >>> date_new=date1.replace(year=2017) >>> date_new datetime.date(2017, 1, 16) >>> date_new=date1.replace(day=30) >>> date_new datetime.date(2018, 1, 30) >>>
九、日期的其他操作--日期加上一个时间间隔(datetime.timedela类的对象)
>>> now=datetime.date.today() >>> now datetime.date(2018, 1, 16) >>> print now 2018-01-16 >>> b=datetime.timedelta(days=10) >>> b datetime.timedelta(10) >>> type(b)>>> print b 10 days, 0:00:00 >>> print now+b 2018-01-26 >>> print now-b 2018-01-06 >>> print now-b-b 2017-12-27 >>>
十、日期的其他操作--两个date类型对象相减。返回两个日期的间隔对象,即:datetime.timedelta类型的对象
>>> date1=datetime.date.today() >>> date2=date1.replace(day=19) >>> print date1 2018-01-16 >>> print date2 2018-01-19 >>> print type(date1),type(date2)>>> print date2-date1 3 days, 0:00:00 >>> print date1-date2 -3 days, 0:00:00 >>> print date2+datetime.timedelta(days=35) 2018-02-23 >>> print type(date2-date1) >>>
十一、日期的其它操作--比较日期大小
date1 < date2 返回比较结果布尔值,真返回True,假返回False
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
X 关闭
X 关闭
- 1转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 2充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 3好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 4名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 5亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 6京东绿色建材线上平台上线 新增用户70%来自下沉市场
- 7网红淘品牌“七格格”chuu在北京又开一家店 潮人新宠chuu能红多久
- 8市场竞争加剧,有车企因经营不善出现破产、退网、退市
- 9北京市市场监管局为企业纾困减负保护经济韧性
- 10市场监管总局发布限制商品过度包装标准和第1号修改单