IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python 日期转换 -> 正文阅读

[Python知识库]python 日期转换

对自定义天,周,月分区的转换

import datetime,platform
from dateutil.relativedelta import relativedelta
def get_partition_list(default_partition):
    partition_list = []
    system = platform.system()
    # windows本地跑代码
    if system == 'Windows':
        now = datetime.datetime.now()
    # 服务器时间是utc时间,需要加上8小时
    else:
        now = datetime.datetime.now() + datetime.timedelta(hours=8)
    dlp = default_partition

    if ':' in dlp:
        num_bg, num_ed = 0, 0
        dlpv = dlp.split(':')
        if '-' in dlpv[0]:
            num_bg = int(dlpv[0].split('-')[1])
        elif not dlpv[0]:
            num_bg = 1
        if '-' in dlpv[1]:
            num_ed = int(dlpv[1].split('-')[1])
        elif not dlpv[1]:
            num_ed = 1

        # T-60:T-2
        if 'T-' in dlp:
            for i in range(num_ed, num_bg + 1):
                partition_value = datetime.datetime.strftime(now + datetime.timedelta(days=-i), '%Y-%m-%d')
                partition_list.append(partition_value)
        # M-60:M-2
        elif 'M-' in dlp:
            # 时间是以昨天的日期为主,以当前月的1号为例,今天是2022-04-01,同步的是3月的数据
            now += datetime.timedelta(days=-1)
            for i in range(num_ed, num_bg + 1):
                partition_value = datetime.datetime.strftime(
                    datetime.datetime(now.year, now.month, 1) + relativedelta(months=-i), '%Y-%m')
                partition_list.append(partition_value)
        # W-60:W-2
        elif 'W-' in dlp:
            for i in range(num_ed, num_bg + 1):
                weeks_value = (datetime.datetime(now.year, now.month, now.day) + relativedelta(weeks=-i)).isocalendar()
                weeks = '0{weeks}'.format(weeks=weeks_value[1]) if weeks_value[1] and weeks_value[1] != 0 and len(
                    str(weeks_value[1])) == 1 else weeks_value[1]
                partition_value = "{year}-{weeks}".format(year=weeks_value[0], weeks=weeks)
                partition_list.append(partition_value)

    # T-2
    if dlp.split('-') and dlp.split('-')[0] == 'T':
        if dlp == 'T':
            dt = 0
        else:
            dt = int(dlp.split('-')[1])
        partition_value = datetime.datetime.strftime(now + datetime.timedelta(days=-dt), '%Y-%m-%d')
        partition_list.append(partition_value)
    # M-1
    elif dlp.split('-') and dlp.split('-')[0] == 'M':
        # 时间是以昨天的日期为主,以当前月的1号为例,今天是2022-04-01,同步的是3月的数据
        now += datetime.timedelta(days=-1)
        if dlp == 'M':
            dt = 0
        else:
            dt = int(dlp.split('-')[1])
        partition_value = datetime.datetime.strftime(
            datetime.datetime(now.year, now.month, 1) + relativedelta(months=-dt), '%Y-%m')
        partition_list.append(partition_value)

    # W-1
    elif dlp.split('-') and dlp.split('-')[0] == 'W':
        if dlp == 'W':
            dt = 0
        else:
            dt = int(dlp.split('-')[1])
        weeks_value = (datetime.datetime(now.year, now.month, now.day) + relativedelta(weeks=-dt)).isocalendar()
        weeks = '0{weeks}'.format(weeks=weeks_value[1]) if weeks_value[1] and weeks_value[1] != 0 and len(
            str(weeks_value[1])) == 1 else weeks_value[1]
        partition_value = "{year}-{weeks}".format(year=weeks_value[0], weeks=weeks)
        partition_list.append(partition_value)

    return partition_list

对自定义时分秒的转换

system = platform.system()
    # windows本地跑代码
if system == 'Windows':
    now = datetime.datetime.now()+ datetime.timedelta(days=-1)
    now = now.replace(year=now.date().year, month=now.date().month, day=now.date().day, hour=0, minute=10, second=0)
else:
    now = datetime.datetime.now()+ datetime.timedelta(days=-1, hours=8)
    now = now.replace(year=now.date().year, month=now.date().month, day=now.date().day, hour=0, minute=10, second=0)
now_date = now.strftime("%Y-%m-%d %H:%M:%S")

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:09:05  更:2022-05-07 11:10:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:40:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码