代码之家  ›  专栏  ›  技术社区  ›  Nikolay Mamaev

2014年三星智能电视固件的时区和DST问题

  •  1
  • Nikolay Mamaev  · 技术社区  · 10 年前

    我有2台三星智能电视,型号和固件如下(从“电视菜单”->“支持”->“联系三星屏幕”)

    1. 2013:

      • 型号代码:UN32F5500
      • Vesron软件:T-MST12AKUC-121.3
    2. 2014:

      • 型号代码:UN40H6350
      • 软件Vesron:T-MST14AKUC-1115.3

    第一个问题(2013年和2014年两台电视上都出现了)是时区检测错误。以下代码:

    <script type='text/javascript' src='./$MANAGER_WIDGET/Common/af/../webapi/1.0/deviceapis.js'></script>
    // ...
    var timezone = deviceapis.tv.info.getTimeZone();
    window.alert('Timezone=' + timezone.timezone + ', dst=' + timezone.dst);
    

    输出以下内容:

    Timezone=2, dst=0
    

    这是 PL_TV_TIMEZONE_EASTERN 而我在PST时区,即预期输出如下( 5 PL_TV_TIMEZONE_PACIFIC ,并且夏令时现在处于活动状态):

    Timezone=5, dst=1
    

    最奇怪的是,我无法更改电视的时区和夏令时设置。如果我转到电视的菜单->系统->时间->时钟,则即使“时钟模式”设置设置为“手动”,“DST”和“时区”设置也被禁用(灰显)。

    第二个问题是2014年电视台特有的,2013年电视台没有再现 Date getUTCHours() 方法返回错误的结果,而不考虑夏令时偏移。即以下代码:

    var now = new Date();
    window.alert('now: ' + now + '; getUTCHours()=' + now.getUTCHours());
    

    产生以下输出:

    now: Fri Aug 08 2014 18:12:52 GMT-0800 (GMT), getUTCHours()=2
    

    而预期会出现以下情况(在2013年的电视上):

    now: Fri Aug 08 2014 18:12:52 GMT-0700 (PDT); getUTCHours()=1
    

    当前时间( Fri Aug 08 2014 18:12:52 )是正确的,但在返回的GMT时间小时中未考虑DST偏移。此外,括号中的时区代码是错误的(GMT而不是PDT,或者考虑到上述时区错误,EDT或EST)。 我最近观察到了这个问题,我认为它是在我为2014年的电视制作了软件更新之后出现的。我宁愿认为这是固件最新版本中引入的错误。 我试着用 TV 插件的( clsid:SAMSUNG-INFOLINK-TV ) GetDST() , GetTimeZone() , GetTimeZone_Offset() 函数,但它们都返回错误的结果。

    我非常感谢提供的任何帮助。

    非常感谢。

    3 回复  |  直到 10 年前
        1
  •  3
  •   Rick    10 年前

    我刚刚联系了三星的支持人员,他们建议在进入设置之前,必须将输入设置为“TV”,才能访问时区和其他参数。

        2
  •  0
  •   Matt Johnson-Pint    10 年前

    嗯,这听起来绝对像是固件问题。我会考虑解决它 their technical support 。(祝你好运。)

    如果时区问题对您的应用程序很重要,并且您正在寻找解决方法,请考虑为应用程序提供您自己的时区数据。假设你可以运行任何你想要的JavaScript,你应该能够使用 moment.js 使用 moment-timezone 附加组件。

        3
  •  0
  •   Mike with Samsung    9 年前

    三星为我提供了一个模型链接,让我将国家代码重置为美国维尔京群岛,然后返回美国。

    这将重置应用程序&时区/日期。

    这为我解决了问题。

    如果您有不同的型号,您可能需要联系Samsung Chat以获取您的链接。

    如何根据三星重置我的型号上的国家代码(时区) http://support-us.samsung.com/cyber/popup/iframe/pop_troubleshooting_fr.jsp?idx=428459&modelname=UN55F6300AF&modelcode=UN55F6300AFXZA