چگونه تاریخ شمسی را به تاریخ میلادی و برعکس در Qt تبدیل کنیم؟
-
من یک پروژه دارم که در آن باید به کاربر امکان وارد کردن تاریخ را بدهم. برای انجام این کار، از یک
TextFieldدرQMLاستفاده میکنم تا تاریخ را به صورت یکQStringدریافت کنم. سپس این ورودی را به C++ ارسال میکنم تا به یکQDateتبدیل شود و آن را چاپ کنم:import QtQuick import QtQuick.Controls TextField { id: textField_Date width: 120 height: 35 onEditingFinished: { Database.printDate(textField.text.trim()); } }#include <QDate> #include <QString> #include <QDebug> void printDate(const QString &dateString) { QDate date = QDate::fromString(dateString, "yyyy-MM-dd"); if (date.isValid()) { qDebug() << "Converted QDate:" << date.toString("dd/MM/yyyy"); } else { qDebug() << "Invalid date format!"; } }این فرآیند به خوبی کار میکند، اما مشکلم این است که احتمالاً کاربر تاریخ را به فرمت شمسی وارد میکند، در حالی که سیستم معمولاً با تقویم میلادی (Gregorian) کار میکند. میخواهم بهترین روش برای تبدیل تاریخها بین این دو تقویم را بدانم، چه از شمسی به میلادی و چه از میلادی به شمسی.
دلیل این پرسش این است که ممکن است از این دادهها در یک پایگاه داده
MySQLاستفاده کنم که نیاز دارد تاریخها به فرمت میلادی باشند.