通过当前日期,获取最近第一个周五、第二个周五、每季度末最后一个周五
    def get_current_week(self, symbol: str, start_date: datetime):
i = 0
while start_date.weekday() != 4:
i = 1
start_date += timedelta(days=1)
if i:
this_week = start_date
else:
this_week = start_date + timedelta(days=7)
next_week = this_week + timedelta(days=7)
quarter = next_week + timedelta(days=7)
# 获取日期本季度第一个月(month)和最后一个月(month + 3)
month = (quarter.month - 1) - (quarter.month - 1) % 3 + 1
if month + 3 > 12:
quarter_year = quarter.year + 1
quarter_month = month + 3 -12
else:
quarter_year = quarter.year
quarter_month = month + 3
# 获取季度最后一天
this_quarter_end = datetime(quarter_year, quarter_month, 1) - timedelta(days=1)
while this_quarter_end - quarter > timedelta(days=7):
quarter += timedelta(days=7) self.week_dic = {'CW': this_week, 'NW': next_week, 'CQ': quarter}
week = symbol.split('_')[1].split('.')[0]
return self.week_dic[week]
 
 

Pandas详解七之DatetimeIndex、PeriodIndex和TimedeltaIndex时间序列

 
比较好的介绍date、datetime、time、timedelta文章  https://www.cnblogs.com/chengd/articles/7291143.html
 
1、有一个问题,如果有一列,读取出来是如下格式,如何调整为date类型格式,将后面时、分、秒都去掉。
解答:
In [1]: from dateutil.parser import parse

In [2]: parse('2011-01-03')
Out[2]: datetime.datetime(2011, 1, 3, 0, 0) In [3]: parse('2011-01-03').date()
Out[3]: datetime.date(2011, 1, 3)
 parse('2011-01-20 23:10:33')
Out[6]: datetime.datetime(2011, 1, 20, 23, 10, 33) In [7]: parse('2011-01-20 23:10')
Out[7]: datetime.datetime(2011, 1, 20, 23, 10) In [8]: parse('2011-01-20 23:10').date()
Out[8]: datetime.date(2011, 1, 20)
3、通过tushare获得交易日时间序列,问题一:获取到每个月第三个星期一,如果没有顺延到下一个交易日。问题二:获取每个月最后一个交易日。
In [1]: import tushare as ts
In [3]: ts.trade_cal()
Out[3]:
calendarDate isOpen
0 1990-12-19 1
1 1990-12-20 1
2 1990-12-21 1
3 1990-12-22 0
 

datetime使用的更多相关文章

  1. C# DateTime与时间戳转换

    C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳. 1. 什么是时间戳 首先要清楚JavaScript与Unix的时间戳的区别: JavaScript时间戳: ...

  2. C# DateTime日期格式化

    在C#中DateTime是一个包含日期.时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式. 目录 1. 分类 2. 制式类型 3. ...

  3. 在面试中忽然发现DateTime的一些...

    今天说说我面试中碰到的一个小问题,在我问起DateTime为什么无法赋值NULL值,一般第一反应都认为它是值类型,不是引用类型,但随后我查阅了度娘自我学习到它是结构类型,那么随之而然就无法赋值NULL ...

  4. LINQ to SQL语句(14)之Null语义和DateTime

    Null语义 说明:下面第一个例子说明查询ReportsToEmployee为null的雇员.第二个例子使用Nullable<T>.HasValue查询雇员,其结果与第一个例子相同.在第三 ...

  5. .NET DateTime类型变量作为参数时设置默认值

    一个小的 Tips. .NET 中函数参数的默认值需要是编译时常量.如果参数是引用类型,可以设置Null,如果是值类型,可以设置相应的编译时常量,如整型可以用整数,但对于DateTime(结构体,值类 ...

  6. BCS datetime 时间区间问题

    BCS 整合sql表时发现以下问题: datetime字段在列表中带了时区,比如插入12-6号的数据,在sql中显示的是12-5 date类型字段无法正确识别,插入成功但报错 LobSystem (外 ...

  7. C#中DateTime.Ticks属性及Unix时间戳转换

    1.相关概念 DateTime.Ticks:表示0001 年 1 月 1 日午夜 12:00:00 以来所经历的 100 纳秒数,即Ticks的属性为100纳秒(1Ticks = 0.0001毫秒). ...

  8. WPF 自定义DateControl DateTime控件

    自定义日期控件,月份选择.如下是日期的一些效果图. 具体的样式.颜色可以根据下面的代码,自己调节即可    1.日期控件的界面 <UserControl x:Class="WpfApp ...

  9. JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决

    JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...

  10. python标准模块(time、datetime及hashlib模块)

    一.time,datetime模块 时间相关的操作 import time time.sleep(5) # ==> 停顿多少秒 print(time.time()) # ==> 返回时间戳 ...

随机推荐

  1. DICOM设备Raw Data与重建

    DICOM设备Raw Data与重建      现在的医疗影像设备基本都已DICOM为标准.但现在许多医院的技术人员都以为只要支持DICOM就一切OK,其实不然.DICOM中有Storage.Prin ...

  2. JDBC--获取数据库连接

    1.JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统.统一的sQL数据库存取和操作的公共接口. 2.Java中的几种数据库存取技术: --1)JDBC直接 ...

  3. JDBC和连接池

    JDBC 所有的数据库操作框架都是用在JDBC的基础上做多次封装的,因为JDBC的操作很复杂 引入Jar包 连接数据库操作 书写sql语句,传参 查询,取值 关闭连接 //1.注册驱动(静态方法)(包 ...

  4. 「NOIP2014」飞扬的小鸟

    传送门 Luogu 解题思路 考虑 \(\text{DP}\) 设 \(dp[i][j]\) 表示飞到 \((i, j)\) 这个点的最小触屏次数. 转移其实比较显然,但问题是每次上升时都可以点很多次 ...

  5. Unity3d fbx纹理不显示 原因

    Unity3d 导入fbx文件后纹理不显示(3ds Max中显示正常) 原因: 1.纹理图片没有导入fbx同一文件夹中 2.纹理图片没有在fbx文件之前导入(现导入纹理图片,再导入fbx文件)

  6. Masonry与UITableView+FDTemplateLayoutCell搭配使用

    打个小广告:本人开发了一个宠物相关的App,欢迎大家下载体验~ 下载二维码: 进入正文: 之前发过一篇博客,也是对这两个的练习使用,但是之后遇到些问题,所以删除重写了.抱歉 Masonry是一款轻量级 ...

  7. 公用表表达式(CTE) with as 片段

    1.为什么用CTE,而不用表变量, declare @t table(CountryRegionCode nvarchar(3)) insert into @t(CountryRegionCode)  ...

  8. NO18 linux开机自启动设置--开机流程--中文乱码--查看行数

    第八题:装完系统后,希望让网络文件共享服务NES,仅在3级别上开机自启动,该如何做? 解答:什么是开机自启动,在Linux下软件服务随系统启动而启动的配置. 方法一:文件配置法,可以把要启动的服务的命 ...

  9. call 和 apply 用法

    ECMAScript规范中,所有函数都包含这两个方法,并且两个方法的使用基本一致,都是用于改变函数的作用域,即改变函数体内 this 指向.不同的是 call 方法的第二个参数可以接收任意个参数,以逗 ...

  10. 新闻网大数据实时分析可视化系统项目——17、Spark2.X分布式弹性数据集

    1.三大弹性数据集介绍 1)概念 2)优缺点对比 2.Spark RDD概述与创建方式 1)概述 在集群背后,有一个非常重要的分布式数据架构,即弹性分布式数据集(resilientdistribute ...