文件名 包含日期和时间 (**)

目录

文件名 包含日期和时间

日期显示的格式符及其意义

===============================

文件名 包含日期和时间

例子1

QString DModel::exportDataToCSV(QString lx)
{
       QString dtStr="d:/"+lx+"DbToExcel"+QDateTime::currentDateTime().toString("yyyyMMddHHmmss")+".csv";
       //以下是保存csv
       QFile file;
       file.setFileName(dtStr);
       if(!file.open(QIODevice::WriteOnly | QIODevice::Text))
       {
           qDebug()<<"open file fail";
           return "";
       }
       QTextStream out(&file);  //创建一个文本流,向保存文件中写入文本

————————————————
版权声明:本文为CSDN博主「864记忆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hmwz0001/article/details/119318881

例子2

二.创建CSV文件

根据输入文件名和当前的时间创建CSV文件。例如,输入的fileName为"1",当前的时间为2022/12/28 15:37:21,则创建的CSV文件名为:1_20221228_153721.csv

void creatCSVFile(QString fileName)
{
    QDateTime timeCurrent = QDateTime::currentDateTime(); //获取系统时间
    QString time_day = timeCurrent.toString("20yyMMdd"); //年月日转换为Qstring
    QString time_hour = timeCurrent.toString("hhmmss"); //时分秒转换为Qstring
    QString path_csv = QString("%1_%2_%3.csv").arg(fileName).arg(time_day).arg(time_hour); //设置csv文件的名称
    QDir dir(path_csv); //文件路径
    if(!dir.exists()) //判断文件是否存在,不存在则创建
    {
        qDebug() << "no such dir";
        if(dir.mkpath(dir.absolutePath()))
        {
           qDebug() << "creat dir success:" << dir.absolutePath();
        }
        else
        {
            qDebug() << "creat dir failed" << dir.absolutePath();
        }
    }
}

Qt CSV文件的创建,读写操作_qt写csv文件_AoDeLuo的博客-CSDN博客

QT中时间与字符串转换

1、用于日期显示的格式符及其意义

字符    意义
yy    年,两位显示,00-99
yyyy    年,四位显示,如2016
M    月,不补零显示,1-12
MM    月,补零显示,01-12
d    天,不补零显示,1-31
dd    天,补零显示,01-31
h    小时,不补零,0-23或1-12(如果显示AM/PM)
hh    小时,补零2位显示,00-23或01-12(如果显示AM/PM)
H    小时,不补零,0-23或1-12(即使显示AM/PM)
HH    小时,补零2位显示,00-23或01-12(即使显示AM/PM)
m    分钟,不补零,0-59
mm    分钟,补零显示,00-59
z    毫秒,不补零,0-999
zzz    毫秒,补零3位显示,000-59
AP或A    使用 AM/PM 显示
ap或a    使用 am/pm 显示

2、日期转字符串

获取当前时间:QDateTime::currentDateTime()

转换方法:

QDateTime#toString(timeFormat)

void MyWidget::on_btnGetTime_clicked()
{
    //获取当前时间
    QDateTime currentDateTime = QDateTime::currentDateTime();

    //转换成字符串显示
    ui->editTime->setText(currentDateTime.toString("hh:mm:ss"));
    ui->editDate->setText(currentDateTime.toString("yyyy-MM-dd"));
    ui->editDateTime->setText(currentDateTime.toString("yyyy-MM-dd hh:mm:ss"));
}

    备注:在设置日期字符串格式时,还可以使用填字符,甚至使用汉字。例如,日期显示格式可以设置为:currentDateTime.toString(“yyyy年MM月dd日”),这样得到的字符串就是“2019年12月30日”。

3、字符串转日期

转换方法:

QQDateTime::fromString(dateTimeStr, "yyyy-MM-dd hh:mm:ss")

void MyWidget::on_pushButton_4_clicked()
{
    QString dateTimeStr = ui->editDateTime->text();
    dateTimeStr = dateTimeStr.trimmed();
    if(!dateTimeStr.isEmpty())
        //时间字符串转 QDateTime
        ui->dateTimeEdit->setDateTime(QDateTime::fromString(dateTimeStr, "yyyy-MM-dd hh:mm:ss"));
}

————————————————
版权声明:本文为CSDN博主「咸鱼最牛逼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/panchang199266/article/details/103773295

QT QDateTime、QTime 与 QString 的相互转换

在开发过程中,经常会遇到获取日期时间,或者把日期时间转为字符串,本文对此(QDateTime、QTime 与 QString 之间的转换)稍作了一下整理:

当前时间转字符串

//当前时间
QString result = "";
result = QTime::currentTime().toString(Qt::ISODate);
qDebug() << result; //"10:51:37"
result = QDateTime::currentDateTime().toString(Qt::ISODate);
qDebug() << result; //"2022-01-21T10:51:37"

 

当前秒数转字符串

//当前秒数
result = QString::number(QDateTime::currentDateTime().toTime_t());
qDebug() << result; //"1642733497"

 

当前时间转指定格式字符串

//当前时间转指定格式字符串
result = QTime::currentTime().toString("hh:mm:ss");
qDebug() << result; //"10:51:37"
result = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz");
qDebug() << result; //"2022-01-21 10:51:37.068"

 

时间字符串转时间

//时间字符串转时间
result = QDateTime::currentDateTime().toString(Qt::ISODate);
QDateTime dateTime = QDateTime::fromString(result, Qt::ISODate);

————————————————
版权声明:本文为CSDN博主「hellokandy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hellokandy/article/details/122616762

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值