首页 > 编程语言 >python中时间转换,获取上一月上一周,本月,本周

python中时间转换,获取上一月上一周,本月,本周

时间:2024-04-24 12:23:16浏览次数:14  
标签:now last python 一月 month 获取 time print datetime


def paserTime(timestamp):
    t = time.time()
    f=time.localtime(timestamp/1000)
    print (t)                       #原始时间数据
    # print (int(t))                  #秒级时间戳
    print (int(round(t * 1000)))    #毫秒级时间戳

    #nowTime = lambda: int(round(t * 1000))
  #  print(nowTime());  # 毫秒级时间戳,基于lambda
    nowTime = lambda:timestamp
    str=time.strftime('%Y-%m-%d %H:%M:%S',f)
    print(str)  # 日期格式化

    return str
# paserTime(time.time())
def now2():
    nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')  # 现在
    print(nowTime)
def nowTime():
    t = time.time()
    f = time.localtime(int(t))
    # print(t)
    str = time.strftime('%Y-%m-%d %H:%M:%S', f)
    print(str)  # 日期格式化
    return str
# nowTime()
def long2Str(longTime):
    f = time.localtime(int(longTime))
    # print(t)
    str = time.strftime('%Y-%m-%d %H:%M:%S', f)
    print(str)  # 日期格式化
    return str
def str2time(str):
    date_time = datetime.datetime.strptime(str, '%Y-%m-%d %H:%M:%S')
    # print(date_time)
    return date_time

def str2timestamp(str):
    timstamp=time.mktime(time.strptime(str, '%Y-%m-%d %H:%M:%S'))
    # print(timstamp)
    return timstamp
    # time.mktime()   与    time.localtime() 互为还原函数。
    # time.mktime(timetuple) :将时间元组转换成时间戳
    # time.localtime([timestamp]):将时间戳转会为时间元组
# print(str2timestamp(str2)-str2timestamp(str))
def date2datetime(date_param):
    date_str = date_param.strftime('%Y-%m-%d %H:%M:%S')
    date_time = datetime.datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
    # print(date_time)
    return date_time
def month():
    first_day=datetime.date.today().replace(day=1).strftime('%Y-%m-%d %H:%M:%S')
    print(first_day)

    _end_time = last_day_of_month(datetime.date.today()).__str__() + ' ' + '23:59:59'
    print(_end_time)

def get_current_week():
    monday, sunday = datetime.date.today(), datetime.date.today()
    one_day = datetime.timedelta(days=1)
    while monday.weekday() != 0:
        monday -= one_day
    while sunday.weekday() != 6:
        sunday += one_day
    monday_datetime = date2datetime(monday)
    sunday_datetime = date2datetime(sunday)
    print(monday_datetime)
    return monday_datetime, sunday_datetime
    # 返回时间字符串
    #  return datetime.datetime.strftime(monday, "%Y/%m/%d") + ' 00:00:00+08:00', datetime.datetime.strftime(sunday, "%Y/%m/%d")+ ' 23:59:59+08:00'


def last_day_of_month(any_day):
    """
    获取获得一个月中的最后一天
    :param any_day: 任意日期
    :return: string
    """
    next_month = any_day.replace(day=28) + datetime.timedelta(days=4)  # this will never fail
    return next_month - datetime.timedelta(days=next_month.day)
# 上月第一天和最后一天
def last_month():
    this_month_start = datetime.datetime(now.year, now.month, 1)
    last_month_end = this_month_start - timedelta(days=1) + datetime.timedelta(
        hours=23, minutes=59, seconds=59)
    last_month_start = datetime.datetime(last_month_end.year, last_month_end.month, 1)
    print('---last_month_start = {} last_month_end = {}'.format(last_month_start,last_month_end))
    return last_month_start,last_month_end
# 本月第一天和最后一天
def this_month():
    this_month_start = datetime.datetime(now.year, now.month, 1)
    # this_month_end = datetime.datetime(now.year, now.month + 1, 1) - timedelta(days=1) + datetime.timedelta(
        # hours=23, minutes=59, seconds=59)
    next_month = now.replace(day=28) + datetime.timedelta(days=4)
    this_month_end = next_month - datetime.timedelta(days=next_month.day)+ datetime.timedelta(
        hours=23, minutes=59, seconds=59)
    print('--- this_month_start = {} this_month_end = {}'.format(this_month_start, this_month_end))
    return this_month_start,this_month_end
# 上周第一天和最后一天
def last_week():
    last_week_start = now - timedelta(days=now.weekday() + 7)
    last_week_end = now - timedelta(days=now.weekday() + 1)+ datetime.timedelta(
        hours=23, minutes=59, seconds=59)
    print('--- last_week_start = {} last_week_end = {}'.format(last_week_start, last_week_end))
    return last_week_start,last_week_end
# 本周第一天和最后一天
def this_week():
    this_week_start = now - timedelta(days=now.weekday())
    this_week_end = now + timedelta(days=6 - now.weekday())+ datetime.timedelta(
        hours=23, minutes=59, seconds=59)
    print('--- this_week_start = {} this_week_end = {}'.format(this_week_start, this_week_end))
    return this_week_start, this_week_end
if __name__=='__main__':
    str='2017-02-28 03:40:10'
    now_time = str2time(str)
    # now_time = datetime.datetime.today()
    now =datetime.datetime(now_time.year, now_time.month, now_time.day)
    # longTime=str2timestamp(str)+60*2
    # long2Str(longTime)
    # now()
    # month()
    # month2()
    # print(get_current_week())
    print(last_day_of_month(now))
    last_month()
    this_month()
    last_week()
    this_week()```


 


![](https://mutouzuo.oss-cn-hangzhou.aliyuncs.com/my/mudouzuo1.png)

标签:now,last,python,一月,month,获取,time,print,datetime
From: https://www.cnblogs.com/bigleft/p/18155010

相关文章

  • Python GUI开发- PyQt5 开发小工具环境入门
    前言常见的python开发gui的库有Tkinter,PyQt5,wxPython等。本教程是选择PyQt5开发桌面小工具。环境准备只需pip安装即可快速准备好开发环境pipinstallpyqt5快速开始创建一个空的window窗口Qapplication():每个GUI都必须包含一个Qapplication,argv表示获取命令行参数,如果......
  • jmeter查看测试片段的执行结果方法二:在添加【测试片段】后结合 模块控制器 查看获取的
    建议使用第一种方法:使用调试取样器查看变量值,再添加测试片段保存1.在测试计划下>添加测试片段2.在线程组下>添加模块控制器3.模块控制器指定运行当前测试片段:找到目标元素 备注:模块控制器添加步骤:线程组>鼠标右键,添加>逻辑控制器>模块控制器......
  • python将字典转换为对象(type的高级用法)
    创建对象使用type()函数还可以动态创建对象。在Python中,对象本质上也是一种类型,因此可以使用type()函数来创建对象。例如:obj=type('MyObject',(),{'attr':'value'})()等价于classMyObject:attr='value'obj=MyObject()创建类使用type()函数还可以......
  • python 读取ini配置文件
    三种类介绍RawCnfigParser是最基础的INI文件读取类ConfigParser类扩展了RawConfigParser的一些接口方法,添加了一些可选参数。get(section,option[,raw[,vars]])获取给定section下的option的值,所以“%”占位符在返回值中被填补,基于构造时传递的默认值,就像option,v......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-40-录制生成脚本
    1.简介各种自动化框架都会有脚本录制功能,playwright这么牛叉当然也不例外。很早之前的selenium、Jmeter工具,发展到每种浏览器都有对应的录制插件。今天我们就来看下微软自动化框架playwright是如何录制脚本的。很多小伙伴或者童鞋们会觉得奇怪,怎么现在才将录制生成脚本啊,要是早......
  • Python基于opencv实现的人脸识别--入门项目
    先去opencv官网下载人脸识别的训练集https://opencv.org/releases/解压目录要记录主要使用haarcascade_frontalface_default.xml摄像头录入人脸(可选)可以弄一个文件夹,里面放一堆图片importcv2face_name='xxxx'#该人脸的名字#加载OpenCV人脸检测分类器face_cas......
  • python包:CV
    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语......
  • python身份运算符
    在Python中,身份运算符用于比较两个对象的内存地址,即它们是否引用了同一个对象。Python中的身份运算符包括is和isnot。is:如果两个变量引用了同一个对象,则返回True。isnot:如果两个变量引用的不是同一个对象,则返回True。下面是一个简单的示例:x=[1,2,3]y=[1,2,......
  • 计算机基础及Python准备
    【一】编程和编程语言【1】什么是编程编程是指将人类语言翻译成计算机能够识别的语言。【2】什么是编程语言编程语言是人与计算机之间交流的媒介。【3】为什么出现编程语言为了让人类能够与计算机有效沟通并控制计算机进行工作。【4】为什么做编程让计算机按照人类意愿完......
  • 爬虫js逆向(python调用js学习)
    首先介绍pyexecjs的使用PyExecJs是一个python库,用于在Python环境中执行javaScript代码。它实际上是对Execs库的Python封装,Execls本身是一个通用的JavaScript运行环境的抽象层。使用PyExecJs,你可以在Python中执行JavaScript代码,而无需启动一个完整的JavaScript解释器......