如何在 Qt 中将公历日期转换为波斯日期?
user2197060
问问题
3017 次
2 回答
8
QDateConvertor类可以帮助您将日期形式 geogorian 转换为 jalali 和 jalali 到 geogorian。
编辑: 将此类添加到您的项目中,并在需要转换日期的地方包含“qdateconvertor.h”。
// gregorian to jalali
QDateConvertor mdate;
QStringList shamsi= mdate.ToJalali( "2001","9","11");
QString JalailDate =shamsi.at(0)+"/"+shamsi.at(1)+"/"+shamsi.at(2)+ ":" +shamsi.at(3);
qDebug()<<JalailDate;
// jalali to gregorian
QStringList m= mdate.ToMiladi("1372","3","6");
QString miladiDate= m.at(0)+"/"+ m.at(1)+"/"+m.at(2);
qDebug()<<miladiDate;
于 2013-04-14T22:31:57.810 回答
4
对于 QT >= 5.14,您可以这样做:
QCalendar calendar(QCalendar::System::Jalali);
QDate today = QDate::currentDate();
QCalendar::YearMonthDay ymd = calendar.partsFromDate(today);
qDebug() << ymd.year;
qDebug() << ymd.month;
qDebug() << ymd.day;
qDebug() << QString("%1/%2/%3")
.arg(ymd.year, 4, 10, QChar('0'))
.arg(ymd.month, 2, 10, QChar('0'))
.arg(ymd.day, 2, 10, QChar('0'));
于 2020-05-05T01:29:26.837 回答