首页 > 编程语言 >Python求前后第n个月函数

Python求前后第n个月函数

时间:2023-05-25 22:35:09浏览次数:45  
标签:monthstr 函数 05 Python monthnum 前后 month 2023 print

数据分析常用到:

# 求往后第 n 个月
# monthstr 格式:YYYY-MM
#
# print next_month("2023-05", 1)
# 2023-06
# print next_month("2023-05", 6)
# 2023-11
# print next_month("2023-05", 8)
# 2024-01
def next_month(monthstr, n):
    yearnum = int(monthstr[0:4])
    monthnum = int(monthstr[5:7])
    date = datetime.datetime.strptime(monthstr + "-01", '%Y-%m-%d')    
    for i in range(0, n):
        if monthnum == 12:
            yearnum += 1
            monthnum = 1
        else:
            monthnum += 1
    return "{}-{:02}".format(yearnum, monthnum)

# 求往前第 n 个月
# monthstr 格式:YYYY-MM
#
# print prev_month("2023-05", 1)
# 2023-04
# print prev_month("2023-05", 3)
# 2023-02
# print prev_month("2023-05", 5)
# 2022-12
def prev_month(monthstr, n):
    yearnum = int(monthstr[0:4])
    monthnum = int(monthstr[5:7])
    date = datetime.datetime.strptime(monthstr + "-01", '%Y-%m-%d')    
    for i in range(0, n):
        if monthnum == 1:
            yearnum -= 1
            monthnum = 12
        else:
            monthnum -= 1
    return "{}-{:02}".format(yearnum, monthnum)

标签:monthstr,函数,05,Python,monthnum,前后,month,2023,print
From: https://www.cnblogs.com/aquester/p/17433170.html

相关文章

  • C语言编程—函数的介绍
    函数是一组一起执行一个任务的语句。每个C程序都至少有一个函数,即主函数main(),所有简单的程序都可以定义其他额外的函数。您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。函数声明告......
  • 如何在ubuntu下安装Vscode并且运行C语言文件或者python文件
    要想在ubuntu中编写并运行C语言或python文件,有两种方法,第一种是直接用vim编写(在我之前的文章中有详细介绍)可以点击如下链接:如何在ubuntu安装C语言环境-代师-博客园(cnblogs.com)如何在Ubuntu中编写Python代码并运行-代师-博客园(cnblogs.com) 今天我要说的是用专......
  • python 发送微信消息
    python自动化,可以模拟键盘输入,因此,可以控制微信,发送消息,代码如下:1importsys2importpyautogui3importpyperclip4importtime5importconfigparser67"""8安装依赖:9pipinstallpyautoguipyperclippyinstaller1011打包成exe:12pyins......
  • python 格式化代码
    安装pre-commitsudoaptinstallpre-commit-yrepos:-repo:https://github.com/python/blackrev:23.3.0hooks:-id:blacklanguage_version:python3exclude:src/ratel/potargs:["--line-length","18......
  • JavaScript中的生成器函数(Generator Functions)
    简介:生成器函数(GeneratorFunctions)是JavaScript中的一种特殊类型函数,它允许开发者在函数内部产生多个值并逐步返回,与传统函数一次返回单个值的方式不同。本文将介绍生成器函数的特性、优缺点以及如何使用它们,并提供一些代码案例来说明其用法。特性:使用function\*关键字声明:生成......
  • python计算余弦相似性和汉明距离
    要使用矩阵相乘来计算7个二进制编码之间的余弦相似性,我们需要先将二进制编码转换为数值向量。对于每个二进制编码,我们可以将0映射为-1,将1映射为1,从而得到一个数值向量。然后,我们可以将这些数值向量表示为一个矩阵,并进行矩阵相乘来计算余弦相似性。以下是一个示例代码,使用Python和......
  • C语言函数大全-- x 开头的函数(5)
    C语言函数大全本篇介绍C语言函数大全--x开头的函数1.xdrmem_create1.1函数说明函数声明函数功能voidxdrmem_create(XDR*xdrs,caddr_taddr,u_intsize,enumxdr_opop););用于创建一个内存XDR流,以便进行编码或解码操作参数:xdrs:指向XDR数据结......
  • 激活函数及其梯度
    激活函数及其梯度1959年科学家对青蛙神经元的机制进行了研究,发现神经元不是对所有的输入都响应,而是只有值大于某个阈值时才会响应,且输出的值是固定的。科学家借鉴这种机制发明了神经元模型。这个函数在z=0处是不连续的,没法求它的导数,无法使用梯度下降进行优化。为了解决这......
  • 常见LOSS函数之MSE
    MSE及其梯度MSE(meansquarederror均方差)pytorch实现方法一:autograd方法二:backwardcrossentropyloss......
  • Python竖版大屏2 | 用pyecharts开发可视化的奇妙探索!
    目录1、SHINE主题2、LIGHT主题3、MACARONS主题4、INFOGRAPHIC主题5、WALDEN主题6、WESTEROS主题7、WHITE主题8、WONDERLAND主题你好!我是@马哥python说,一名10年程序猿,正在试错用pyecharts开发可视化大屏的非常规排版。以下,我用8种ThemeType展示的同一个可视化数据大屏,可视化主题......