چگونه تاریخ شمسی را به تاریخ میلادی و برعکس در Qt تبدیل کنیم؟
Unsolved
Persian
-
من یک پروژه دارم که در آن باید به کاربر امکان وارد کردن تاریخ را بدهم. برای انجام این کار، از یک
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
استفاده کنم که نیاز دارد تاریخها به فرمت میلادی باشند.