zoukankan      html  css  js  c++  java
  • datetime使用

     
    通过当前日期,获取最近第一个周五、第二个周五、每季度末最后一个周五
        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
  • 相关阅读:
    day7
    day 6
    day4
    An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision
    参数初始化之Xavier初始化
    使用tensorboardX可视化Pytorch
    使用visdom可视化pytorch训练过程
    pytorch与torchvision版本、tensorflow与keras版本
    luarocks和hdf5安装
    docker常见问题
  • 原文地址:https://www.cnblogs.com/bawu/p/7851739.html
Copyright © 2011-2022 走看看