目录
文件名 包含日期和时间
日期显示的格式符及其意义
===============================
文件名 包含日期和时间
例子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