تحويل QString المحتوي على الطابع الزمني بعد ذلك إلى QDateTime
سؤال
أواجه مشكلة في مشكلة بسيطة للغاية: أريد الحصول على QDatetime من QString يحتوي على طابع زمني. حصلت على الطابع الزمني من Postgresql ، لكن هذا لا يهم. هنا هو الرمز الذي لا يعمل:
QString timestamp = "2010-10-09 19:21:46+02:00";
QString format = "YYYY-MM-DD HH:MM:SSTZD";
QDateTime dt = QDateTime::fromString(timestamp, format);
qDebug() << dt.toString(); // outputs empty string
يجب أن يكون هناك شيء واضح للغاية أنا في عداد المفقودين. شكرًا!
المحلول
كان هناك خطأان كنت أرتكب. لا يوجد TZD في مواصفات التنسيق ، لذلك قمت بإزالة معلومات المنطقة الزمنية لأنني لا أحتاجها في تطبيقي من خلال القيام:
timeStamp.chop(6);
ثم استخدم التنسيق التالي للحصول على QDateTime. لاحظ أحرف التنسيق الصغير:
QDateTime createdAt = QDateTime::fromString(timeStamp, "yyyy-MM-dd HH:mm:ss");
شكرا للجميع أعلاه للمساعدة.
لا تنتمي إلى StackOverflow