Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-25262

Dates without times are wrong in QML

XMLWordPrintable

      The following unit test fails in QtQml:

      FAIL!  : tst_qqmlecmascript::assignDate(Component.onComplete JS) Compared values are not the same
         Actual   (object->dateProperty()): 1982/11/24
         Expected (QDate(1982, 11, 25)): 1982/11/25
         Loc: [/home/thiago/src/qt/qt5/qtdeclarative/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp(350)]
      

      Note that the source file for the property in question is (assignDate.qml):

              dateProperty = new Date("1982-11-25")
      

      Note that the the test above in the same file is correct, with the source (assignBasicTypes.qml):

              dateProperty = "1982-11-25"
      

      From what I can tell in the source, the latter uses QDateTime::fromString. I'm guessing the former is going through a JS Date object, which is supposed to represent a full date, time and timezone. The JS date is the locale date of "1982-11-25" (no Z, so it's locale), but it must have been interpreted as midnight Zulu time, which yields 1982-11-24T22:00-0200 localtime. When the QDate is extracted from that QDateTime, the date is wrong.

        For Gerrit Dashboard: QTBUG-25262
        # Subject Branch Project Status CR V

            mvogt Matthew Vogt (closed Nokia identity) (Inactive)
            thiago Thiago Macieira
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes