使用时刻将任何时区日期时间转换为UTC日期时间

时间:2018-04-13 07:54:50

标签: angular angular-material momentjs

我已经下降了不同的时区。我从正常时区加载的所有时区,并添加到下拉列表。

timezone: any = {
nameAbbr: "America/New_York (EDT)",
name: "America/New_York",
abbr: 'EDT'

}

如果我从下拉列表中选择任何时区,则应加载与该时区相关的日期时间,之后需要转换为UTC。

以下是我尝试将所选时区转换为UTC的代码。

moment(date).tz(timezone.name).utc().format('YYYY-MM-DDTHH:mm:ss')

默认选择的时区是'America / New_York'。它正确地转换为UTC默认选定的时区。

但如果我将时区更改为“亚洲/加尔各答”,则仅提供最后选择的时区(America / New_York)UTC日期时间。

任何人都可以研究这个问题吗?

HTML代码

<mat-form-field class="auto-complete-full-width">
  <input type="text" matInput [formControl]="timeZoneControl" [matAutocomplete]="auto">
  <mat-autocomplete #auto="matAutocomplete">
    <mat-option *ngFor="let timezone of filteredOptions | async" [value]="timezone.nameAbbr" (onSelectionChange)="onChangeTimezone(timezone)">
      {{ timezone.nameAbbr }}
    </mat-option>
  </mat-autocomplete>
</mat-form-field>

0 个答案:

没有答案