Ember.js-Ember-pikaday是否无法解决美国日期?

时间:2018-07-26 15:53:21

标签: ember.js

我正在尝试通过我们正在运行的geb测试在网站上通过替代日期选择器。

它无法处理美国模拟测试

{{pikaday-input
  value=localisedValue
  format=(if format format "DD/MM/YYYY")
  name=name
  placeholder=localisedPlaceholder
  onSelection=(action setValue)
  id=inputId
  classNames="date-placeholder"
  tabindex=tabIndex
}}

date.js

import LocalisedTextInput from './localised-text-input';

export default LocalisedTextInput.extend({
  setValue(dateValue) {
    if(dateValue) {
      let valueFormat = this.get('valueFormat') ? this.get('valueFormat') : 'YYYY-MM-DD';

      if(valueFormat !== 'date') {
        dateValue = window.moment(dateValue).format(valueFormat);
      }
      else {
        dateValue = window.moment(dateValue);
      }
    }

    this.set('localisedValue', dateValue);
  }
});

和测试

def "Agenda Day renders correctly in the US"() {
    given:
        bootstrapPublishedTestEvent()

    and:
        def page = asyncTo EditAgendaPage, siteUnderTest

    when:
        page.mockTimeZone(420)
        page.addDay('20/02/2016', 'Day 1')

    then:

        page.days*.date == ["20/02/2016"]
}

当我注释掉page.mockTimeZone(420)时-测试通过。

mockTimeZone正在使用TimeShift.js库

Date = TimeShift.Date;
TimeShift.setTimezoneOffset(420);   

存在一个错误,即如果服务器中的日期为31/12/2019-在英国时区中是正确的-但在美国时区中则显示为30/12/2019

0 个答案:

没有答案