python - 如何计算两个 ISO 日期之间的周数
问题描述
我正在逐行读取 excel 文件,其中我在一列 ISO year_week_start : 2020_53 和第二个 ISO year_week_end : 2021_01
我正在寻找如何获得这两个字符串之间的距离
2021_01 - 2020_53 => 1
2020_40 - 2020_30 => 10
解决方案
这是你想要的?
from datetime import date
def convert(value):
(year, week) = [int(x) for x in value.split('_')]
result = date.fromisocalendar(year, week, 1)
return result
def distance(date1, date2):
date1 = convert(date1)
date2 = convert(date2)
diff = date1 - date2
weeks = diff.days / 7
return weeks
print(distance('2021_01', '2020_53'))
print(distance('2020_40', '2020_30'))
print(distance('2021_01', '1991_01'))
输出
1.0
10.0
1566.0
推荐阅读
- ransack - 忽略 Ransack 搜索中的特定参数,但保留在搜索表单中
- android - 由于 icon_tree_shaker,Flutter 无法在 Android 上构建
- php - PHP on 在数组中找到两个键等于两个值的数组并将其从数组中删除
- hibernate - 如何根据 Spring Data JPA 中另一个属性的值返回 Map?
- android - 如何从 Android 应用程序中的 node.js 服务器读取响应
- javascript - 如何使用 jest 模拟 MediaSource?
- react-native - 为 LocalizedStrings 设置初始语言 React 本地化
- django - 无法安装频道
- github - GitHub 页面上的侧边栏
- vue.js - 如何在 Vue PWA 中跳过等待服务人员