在为Garmin Fenix3开发钟面时,我遇到了使用MM/DD或DD/MM格式显示日期的需求。
API不允许保存自定义手表面的设置,因此唯一的方法是使用某些系统属性...我在API文档中找不到它。
另一方面,一旦连接到iPhone,就可以访问手表设置,其中有日期格式设置,因此肯定有一些设置。
任何有关如何处理此问题的帮助或提示都将不胜感激。提前谢谢。
发布于 2015-10-12 19:11:54
确实,API缺少检查用户对日期格式的首选项的方法。Garmin自己的手表似乎通过完全省略月份而只显示“mon12”来解决这个问题。
我会看看用户的时间设置。如果她使用24小时时钟,我可以肯定地认为她希望看到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-12-11 04:02:31
SDK提供的设置功能可用于允许用户指定要使用的格式。程序员指南中有一些如何使用应用程序设置的示例。
https://stackoverflow.com/questions/31906007
复制相似问题