如何拿到Data类型23:59:59时的日期

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    Date startTime = format.parse(date);
        

这样得到的是00:00:00时的数据,如果我需要23:59:59呢

如下:

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(startTime);
        calendar.add(Calendar.HOUR,23);//时
        calendar.add(Calendar.MINUTE,59);//分
        calendar.add(Calendar.SECOND,59);//秒
        Date endTime = calendar.getTime();

这样endTime的时分秒就是23:59:59了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.1 datafeed 在一开始我们就讨论过datafeed,也就是cerebro的本源,数据。我们看一下上次我们的策略是怎么来的。 dataframe = pd.read_csv('dfqc.csv', index_col=0, parse_dates=True) dataframe['openinterest'] = 0 data = bt.feeds.PandasData(dataname=dataframe, fromdate = datetime.datetime(2015, 1, 1), todate = datetime.datetime(2016, 12, 31) ) # Add the Data Feed to Cerebro cerebro.adddata(data) 我们的数据是从一个dfqc的csv文件里面来的,这里,可能大家没有这个数据,之前上传的csdn,不只是还没通过还是怎么的。今天就把他存到百度云,大家有需要的可以自行下载。这是东风汽车的股票数据,是从wind上获取的。大家没有wind也可以用tushare之类的免费api获得。 链接:http://pan.baidu.com/s/1slnULbv 密码:wi3k 文件里面的数据大概是这样的: 2014-03-13 00:00:00.005,1.425,1.434,1.449,1.418,457767208.02014-03-14 00:00:00.005,1.429,1.422,1.436,1.416,196209439.02014-03-17 00:00:00.005,1.433,1.434,1.437,1.422,250946201.02014-03-18 00:00:00.005,1.434,1.425,1.437,1.424,245516577.02014-03-19 00:00:00.005,1.423,1.419,1.423,1.406,331866195.02014-03-20 00:00:00.005,1.412,1.408,1.434,1.407,379443759.02014-03-21 00:00:00.005,1.406,1.463,1.468,1.403,825467935.0 dataframe = pd.read_csv('dfqc.csv', index_col=0, parse_dates=True) 大家注意我们把csv读入pandas的参数,index_col=0表示第一列间数据是作为pandas 的index的,parse_dates=Ture是自动把数据中的符合日期的格式变成datetime类型。为什么要这样呢?其实读入后的pandas长怎么样都是由backtrader规定的。 1.2 strategy中的data 大家不知道有没有注意,strategy的初始化函数(init)中, self.dataclose = self.datas[0].close 有这样一句。在backtrader中,self.datas[0] 与self.data是等价的,换句话说,同一个东西不同的叫法罢了。为什么会有前面这种,笔者认为,backtrader应当可以支持多个datafeed,目前还没有使用到,先按下不表。 看看前面的pandas的要求的结构,我们就知道,不仅仅有self.datas[0].close,还会有self.datas[0].open。也确实如此。只是我们通常拿close作为一个价格基准罢了。这里, self.datas[0].close 返回的是一个lines。lines是backtrader一个很重要的概念,我们可以理解为间序列流,这类数据,后面可以跟index,也就是说,可以有 self.datas[0].close[0] self.datas[0].close[1] self.datas[0].close[-1] 等等,但是这里的index是有意义的,0代表当前刻,-1代表前一刻,1代表后一刻,一次类推。 所以在next中使用self.dataclose[0],self.dataclose[-1]就很好理解了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值