首页 > 编程语言 >python 日期函数的使用

python 日期函数的使用

时间:2023-05-26 22:33:55浏览次数:49  
标签:return 函数 python datetime int 日期 date dt 100

计算一段时间内,周六出现的次数。

如果是周六,则 5 == dt_start.weekday()

这里用到了2个主要的日期函数

datetime_to_date_int,
date_int_to_datetime

 

import datetime
def datetime_to_date_int(dt):
    if isinstance(dt, datetime.datetime):
        dt = dt.date()
        return dt.year * 10000 + dt.month * 100 + dt.day
    elif isinstance(dt, datetime.date):
        return dt.year * 10000 + dt.month * 100 + dt.day
    raise RuntimeError('unsupported parameter type:', type(dt))

def date_int_to_datetime(dt):
    if isinstance(dt,datetime.datetime):
        return dt
    if dt is None:
        return datetime.datetime.now()
    if dt == 0:
        return datetime.datetime.now()
    if isinstance(dt, str):
        if '-' in dt:
            return datetime.datetime.strptime(dt, "%Y-%m-%d")
        else:
            return datetime.datetime.strptime(dt, "%Y%m%d")
    y = int(dt / 10000)
    m = int(dt / 100 - y * 100)
    return datetime.datetime(y, m, int(dt - y * 10000 - m * 100))

dt_start  = date_int_to_datetime(20230101)
dt_end = date_int_to_datetime(20801231)
month_day_map:dict = {}
while dt_start <= dt_end:
    tradedate = datetime_to_date_int(dt_start)
    if 5 == dt_start.weekday():
        month_day = tradedate % 1000
        if month_day>528 and month_day<925:
            str_key = str(month_day)
            if month_day_map.get(str_key)!= None :
                month_day_map[str_key] += 1
            else:
                month_day_map[str_key] = 1
    dt_start = dt_start + datetime.timedelta(days=1)
sort_map = sorted(month_day_map.items(), key = lambda x:x[1], reverse = True)
print("sort_map:",sort_map)

 

标签:return,函数,python,datetime,int,日期,date,dt,100
From: https://www.cnblogs.com/music-liang/p/17435990.html

相关文章

  • 使用这些方法让你的 Python 并发任务执行得更好
    动动发财的小手,点个赞吧!问题一直以来,Python的多线程性能因为GIL而一直没有达到预期。所以从3.4版本开始,Python引入了asyncio包,通过并发的方式并发执行IO-bound任务。经过多次迭代,asyncioAPI的效果非常好,并发任务的性能相比多线程版本有了很大的提升。但是,程序员在使......
  • 2.3Tucker分解HOSVD、HOOI算法推导和python实现
    HOSVD参考论文:AMULTILINEARSINGULARVALUEDECOMPOSITIONHOSVD虽然不能保证给Tucker分解给出最优拟合,但是可以提供一个好的初始化的解这些矩阵都是正交的。之所以求前R最大特征值,可以在下文的HOOI看到,目的是最大化目标函数UWHOSVD的最后一行证明如下:HOOI:黄色之所以可以化过去,......
  • python md5源码
    importbinasciiimportsysimportos.pathSV=[0xd76aa478,0xe8c7b756,0x242070db,0xc1bdceee,0xf57c0faf,0x4787c62a,0xa8304613,0xfd469501,0x698098d8,0x8b44f7af,0xffff5bb1,0x895cd7be,0x6b901122,0xfd987193,0xa679438e,0x49b40......
  • python day3
    上篇案例  #我写的importrandomnum=random.randint(1,10)print(num)a=int(input("请输入数字"))ifa==num:print("bingo!")elifa>num:b=int(input("大了,还有两次机会,重新输入"))ifb>num:c=int(input(&qu......
  • Python 使用Seaborn画图,代码正常不出图
    不得不说,这个库画出来的图也太好看了。目前还没有很懂这个库,但是需要注意的是我在用完plt之后引入这个,图片一直出不来真的困扰我很久啊。终于找到了救命的办法参考链接:https://blog.csdn.net/qq_56039091/article/details/124024286......
  • C语言函数大全-- y 开头的函数
    (C语言函数大全)y开头的函数1.yperror1.1函数说明函数声明函数功能voidyperror(char*msg);在UNIX和Linux系统中用于将NIS(NetworkInformationService)错误代码转换为相应的错误信息参数:msg:指向一个字符数组的指针,表示附加的消息yperror()函......
  • 2023-05-26:golang关于垃圾回收和析构函数的选择题,多数人会选错。
    2023-05-26:golang关于垃圾回收和析构的选择题,代码如下:packagemainimport( "fmt" "runtime" "time")typeListNodestruct{ Valint Next*ListNode}funcmain0(){ a:=&ListNode{Val:1} b:=&ListNode{Val:2} runtime.SetFi......
  • strlen函数
    strlen函数#include<stdio.h>intmystrlen(char*n){inti=0;while(*n){i++;n++;}returni;}intmain(){charn[20]={"Ilovechina";}ints=0;s=mystrlen(n);printf("%d\n",s);return0;}......
  • strcat函数
    strcat函数#include<stdio.h>voidmystrcat(char*i,char*j){if(i==0||j==0){return;}while(*i){i++;}while(*j){*i++=*j++;}*i='\0';}intmain(){chara[20]={0};charb[40]={0};printf(&qu......
  • 【python基础】变量
    1.初识变量编程本质就是通过一定的规则,去操纵数据,变量作为数据的载体,在程序中经常会被用到。与变量相联系的还有一个名词叫数据类型,我们可以举一个生活中的例子,来理解数据类型-变量-数据三者之间的关系红色的1号杯子中装满了水,其中红色就代表数据类型,1号杯子就代表变量,而水就代......