c++ 将格里高利日期转换为波斯日期(jalali),货币单位为Qt

balp4ylt  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(126)

如何在Qt中将格里高利日期转换为波斯日期?

q35jwt9p

q35jwt9p1#

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;

字符串

utugiqy6

utugiqy62#

对于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'));

字符串

相关问题