QML类型:Locale、Date

Locale

一、描述

此类型提供特定于语言环境的属性和格式化数据。

Locale 对象只能通过 Qt.locale() 函数创建。不能直接创建。

Qt.locale() 函数返回一个 JS Locale 对象,表示具有指定名称的语言环境,其格式为“language[_territory][.codeset][@modifier]”或“C”。

支持默认区域设置的概念,默认区域设置由应用程序启动时系统的区域设置确定。如果没有参数传递给 Qt.locale(),则返回默认的语言环境对象。

二、属性成员

1、amText : string

使用 12 小时制的时间的“AM”后缀的本地化名称。

2、decimalPoint : string

小数点字符。

3、exponential : string

指数字符。

4、firstDayOfWeek : enumeration

一周的第一天。

  • Locale.Sunday = 0
  • Locale.Monday = 1
  • Locale.Tuesday = 2
  • Locale.Wednesday = 3
  • Locale.Thursday = 4
  • Locale.Friday = 5
  • Locale.Saturday = 6

5、groupSeparator : string

组分隔符。

6、measurementSystem : enumeration

测量的单位。

  • Locale.MetricSystem:公制单位,例如米、厘米和毫米。
  • Locale.ImperialUSSystem:英制单位,例如在美国使用的英寸和英里。
  • Locale.ImperialUKSystem:英制单位,例如在英国使用的英寸和英里。
  • Locale.ImperialSystem:提供兼容性。 与 Locale.ImperialUSSystem 相同。

7、name : string

将此语言环境的语言和国家/地区保存为“language_country”形式的字符串,其中语言是小写的两个字母的 ISO 639 语言代码,国家是大写的两个或三个字母的 ISO 3166 国家代码

8、nativeCountryName : string

国家的本地名称。

9、nativeLanguageName : string

语言的本地名称。

10、negativeSign : string

负号字符。

11、numberOptions : enumeration

包含一组用于数字到字符串和字符串到数字转换的选项。

12、percent : string

百分比字符。

13、pmText : string

使用 12 小时制的时间的“PM”后缀的本地化名称。

14、positiveSign : string

正号字符。

15、textDirection : enumeration

语言的文本方向。

  • Qt.LeftToRight
  • Qt.RightToLeft

 16、uiLanguages : Array<string>

按优先顺序返回用于翻译目的的语言环境名称的有序列表。

返回值表示用户希望在其中看到 UI 翻译的语言环境名称。

17、weekDays : Array<int>

根据当前语言环境被视为工作日的天数组,其中星期日为 0,星期六为 6。

18、zeroDigit : string

零位字符。 

三、成员函数

1、string currencySymbol(format)

返回指定格式的货币符号:

  • Locale.CurrencyIsoCode:货币的 ISO-4217 代码。
  • Locale.CurrencySymbol:货币符号。
  • Locale.CurrencyDisplayName:货币名称。

2、string dateFormat(type)

     string dateTimeFormat(type)

返回用于当前语言环境的日期、日期时间格式。type 指定要返回的 FormatType。见下面的 Date

3、string dayName(day, type)

以 type 指定的可选 FormatType 返回当天的本地化名称(day参数 0 代表星期日,1 代表星期一,依此类推)。

4、string formattedDataSize(int bytes, int precision, DataSizeFormat format)

将字节大小转换为可读的本地化字符串。见 QLocale::formattedDataSize()。

5、string monthName(month, type)

以 type 指定的可选 FormatType 返回月份的本地化名称 (0-11)。

6、string standaloneDayName(day, type)

返回作为独立文本使用的日期的本地化名称(其中 0 代表星期日,1 代表星期一,依此类推),采用由 type 指定的 FormatType。

如果语言环境信息未指定独立日期名称,则返回值与 dayName() 中的相同。

7、string standaloneMonthName(month, type)

返回用作独立文本的月份的本地化名称 (0-11),采用 type 指定的可选 FormatType。

如果语言环境信息未指定独立月份名称,则返回值与 monthName() 中的相同。

8、string timeFormat(type)

返回用于当前语言环境的时间格式。type 指定要返回的 FormatType。


Date

一、描述

Date 对象使用区域(Locale)设置功能扩展了 JS Date 对象。

二、格式化枚举值

当需要与区域设置首选项匹配的格式时,使用枚举值:

  • Locale.LongFormat:更长的格式
  • Locale.ShortFormat:更短的格式
  • Locale.NarrowFormat:在上下文中与 Locale.ShortFormat 相同

枚举表示的格式将取决于语言环境,但也取决于使用枚举的方法。

例如,对于 en_US 语言环境,使用以下格式字符串:

三、成员函数

1、string fromLocaleDateString(locale, dateString, format)

使用语言环境和格式将日期字符串 dateString 转换为 Date 对象。

如果未指定格式,将使用 Locale.LongFormat

如果未指定区域设置,将使用默认区域设置。

import QtQml 2.0

QtObject {
    property var locale: Qt.locale()
    property date currentDate: new Date()
    property string dateString

    Component.onCompleted: {
        dateString = currentDate.toLocaleDateString();
        print(Date.fromLocaleDateString(dateString));
    }
}

2、string fromLocaleString(locale, dateTimeString, format)

使用语言环境和格式将日期时间字符串 dateTimeString 转换为 Date 对象。

如果未指定格式,将使用 Locale.LongFormat

如果未指定区域设置,将使用默认区域设置。

import QtQml 2.0

QtObject {
    property var locale: Qt.locale()
    property string dateTimeString: "Tue 2013-09-17 10:56:06"

    Component.onCompleted: {
        print(Date.fromLocaleString(locale, dateTimeString, "ddd yyyy-MM-dd hh:mm:ss"));
    }
}

3、string fromLocaleTimeString(locale, timeString, format)

使用语言环境和格式将时间字符串 timeString 转换为 Date 对象。

如果未指定格式,将使用 Locale.LongFormat

如果未指定区域设置,将使用默认区域设置。

import QtQml 2.2

QtObject {
    property var locale: Qt.locale()
    property date currentTime: new Date()
    property string timeString

    Component.onCompleted: {
        timeString = currentTime.toLocaleTimeString(locale, Locale.ShortFormat);
        print(Date.fromLocaleTimeString(locale, timeString, Locale.ShortFormat));
    }
}

4、string timeZoneUpdated()

通知 JS 引擎系统的时区已更改,这是正确操作日期时间数据所必需的。

此函数应在系统时区更新后调用。

更改时区的应用程序将在设置新时区后调用 timeZoneUpdated():

property string selectedTimeZone

onSelectedTimeZoneChanged: {
    MyFunctions.setSystemTimeZone(selectedTimeZone)
    Date.timeZoneUpdated()
}

5、string toLocaleDateString(locale, format)

将 Date 转换为包含指定格式的指定区域设置的日期的字符串。

如果未指定格式,将使用 Locale.LongFormat

如果未指定区域设置,将使用默认区域设置。

import QtQuick 2.0

Text {
    text: "The date is: " + new Date().toLocaleDateString(Qt.locale("de_DE"))
}

6、string toLocaleString(locale, format)

将 Date 转换为包含指定格式的指定区域设置的日期和时间的字符串。

如果未指定格式,将使用 Locale.LongFormat

如果未指定区域设置,将使用默认区域设置。

import QtQuick 2.0

Text {
    text: "The date is: " + new Date().toLocaleString(Qt.locale("de_DE"))
}

7、string toLocaleTimeString(locale, format)

将 Date 转换为包含指定格式的指定区域设置的时间的字符串。

如果未指定格式,将使用 Locale.LongFormat

如果未指定区域设置,将使用默认区域设置。

import QtQuick 2.0

Text {
    text: "The date is: " + new Date().toLocaleTimeString(Qt.locale("de_DE"))
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值