Qml Locale имеет одинаковый формат для ShortFormat и NarrowFormat

Я пытаюсь отобразить дату (и время), используя методы toLocaleDateString / toLocateTimeString, реализованные для типа Date в Qml ( здесь документ). Это работает, за исключением ShortFormat, который такой же, как NarrowFormat.

Вот пример:

import QtQuick 2.3

import QtQuick.Controls 1.2

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    property var locale: Qt.locale()

    Label {
        id: date
        text: {
            "DATE: \n" +
              "Locale.LongFormat:\t" + new Date().toLocaleDateString(locale, Locale.LongFormat) + "\n" +
              "Locale.ShortFormat:\t" + new Date().toLocaleDateString(locale, Locale.ShortFormat) + "\n" +
              "Locale.NarrowFormat:\t" + new Date().toLocaleDateString(locale, Locale.NarrowFormat) + "\n"
        }
        anchors.top : parent
    }

    Label {
        id: time
        text:
            "TIME: \n" +
              "Locale.LongFormat:\t" + new Date().toLocaleTimeString(locale, Locale.LongFormat) + "\n" +
              "Locale.ShortFormat:\t" + new Date().toLocaleTimeString(locale, Locale.ShortFormat) + "\n" +
              "Locale.NarrowFormat:\t" + new Date().toLocaleTimeString(locale, Locale.NarrowFormat) + "\n"

        anchors.top: date.bottom
    }

}

Что отображается:

Locale.LongFormat:  Wednesday, September 27, 2017
Locale.ShortFormat: 9/27/17
Locale.NarrowFormat:    9/27/17

Locale.LongFormat:  11:46:10 AM CEST
Locale.ShortFormat: 11:46 AM
Locale.NarrowFormat:    11:46 AM

Я ожидал, что ShotFormat даст мне дату 27 сентября 2017 года или что-то похожее, а время 11:46:42.

Я нашел в документе ( здесь) о NarrowFormat, что

Кроме того, для локали системы этот формат такой же, как ShortFormat.

Я не уверен, связано ли это с моей проблемой, так как я явно указываю локаль в toLocaleDateMethod. Даже тогда NarrowFormat должен быть более многословным, а не ShortFormat короче...

Спасибо за вашу помощь!

0 ответов

В документации Qml:

Locale.ShortFormat является рекомендуемым форматом по умолчанию, так как Locale.NarrowFormat могут не полностью поддерживаться каждой локалью (см. Типы форматов строки локали) и Locale.LongFormat может не помещаться в ячейках заголовка.

Другие вопросы по тегам