char*类型时间转换成QDateTime或者double

用qcustomplot做曲线时,x轴需要时间来展示。传过来的数据是const char* 类型的。然后qcustomplot的setRange函数又是double类型的。这时候就要把传递过来的数据转换成double类型的。上代码

//time_start是传递过来的char类型时间字符串
void QHisCurv::refreshPixmap(const char* time_start, const char* time_end){
    // 将char类型时间字符串转换成QString类型时间字符串
    //(如果原始字符串格式不是标准格式,需要进行调整)
    QString timeStrFormat(time_start),timeStrFormats(time_end);

    // 根据QString类型时间字符串创建QDateTime实例
	QDateTime dateTime = QDateTime::fromString(timeStrFormat, "yyyy-MM-dd hh:mm:ss");
    
    //定义double类型变量,调用toTime_t()函数,将值赋值进去
	double startTime = dateTime.toTime_t();
	QDateTime dateTime1 = QDateTime::fromString(timeStrFormats, "yyyy-MM-dd hh:mm:ss");
	double endTime = dateTime1 .toTime_t();
    ......
    //下面是将处理好的double类型展示在X轴上
    QSharedPointer<QCPAxisTickerDateTime> timer(new QCPAxisTickerDateTime());
	timer->setTickCount(5);
	timer->setDateTimeFormat("yyyy-MM-dd\nhh:mm:ss");
	timer->setTickStepStrategy(QCPAxisTicker::tssMeetTickCount);
    //这里需要全局定义一个曲线类,不了解可以去看我另外一个帖子
    //https://blog.csdn.net/faterbeiwodansha/article/details/130574270?spm=1001.2014.3001.5502
	customplot->xAxis->setTicker(timer);
	customplot->xAxis->setRange(endTime ,startTime );
}

然后展示一下运行结果吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值