1

在为 Garmin Fenix 3 开发表盘时,我发现需要使用 MM/DD 或 DD/MM 格式显示日期。

API 不允许为自定义表盘保存设置,因此唯一的方法是使用一些系统属性......我无法在 API 文档中找到。

另一方面,一旦连接到iPhone,就可以访问手表设置,其中有日期格式设置,所以必须有一些东西。

感谢您提供有关如何处理此问题的任何帮助或提示。提前致谢。

4

2 回答 2

3

诚然,API 缺少检查用户对日期格式的偏好的方法。Garmin 自己的表盘似乎通过完全省略月份而仅显示“MON 12”来解决此问题。

我会看看用户的时间设置。如果她使用 24H 时钟,我会说假设她希望看到 DD/MM 格式是很安全的。或者,更进一步,可能会分配一个从几个设置中扣除的“分数”:

function getMonthFormat () {
    var score = 0;
    var settings = System.getDeviceSettings();

    if(settings.distanceUnits == System.UNIT_METRIC) score++;
    if(settings.paceUnits == System.UNIT_METRIC) score++;
    if(settings.temperatureUnits == System.UNIT_METRIC) score++;
    if(settings.weightUnits == System.UNIT_METRIC) score++;

    // 2/4 should be a safe assumption
    if(score >= 2) {
        return "ddmm";  // or whatever
    } else {
        return "mmdd";
    }
}
于 2015-10-12T11:11:53.913 回答
0

SDK 提供的设置功能可用于允许用户指定要使用的格式。程序员指南中有如何使用应用程序设置的示例。

于 2015-12-10T20:02:31.210 回答