【问题标题】:Locale time on IONIC2 Datetime pickerIONIC2 日期时间选择器上的语言环境时间
【发布时间】:2017-01-29 09:34:06
【问题描述】:

我正在使用 IONIC2、Angular2 和 Typescript。我有一个 Datetime 工作如下:

page.html

<ion-datetime displayFormat="DD MMMM YYYY" pickerFormat="DD MMMM YYYY" [(ngModel)]="date"></ion-datetime>

page.ts

  date: string = new Date().toISOString();

ion-datetime 字段显示的时间少了一个小时,考虑到时区,我如何在 Datetime 选择器上显示日期?

【问题讨论】:

  • 你为什么要给那个组件一个字符串?没有那个.toISOString() 试过了吗?
  • 是的@mxii,我只尝试过date: Date = new Date();,但出现错误:'原始异常:TypeError:无法读取属性'month' of null'。我认为这是因为 ion-datetime 尝试解析具有特定格式 (ISO) 的字符串,而不是日期或其他字符串,例如 .toString()toUTCString()toLocaleString()
  • ISOString 将返回没有时区信息的 UTC 时间。我不知道如何告诉 Ionic 使用本地时区显示它。
  • @SamuelFragaMateos 请查看this answer。希望它有所帮助:)
  • @sebaferreras 对我有用!!非常感谢。

标签: datetime angular typescript ionic2 toisostring


【解决方案1】:

最简单的是以毫秒为单位去除时区偏移:

date = new Date();
myDate: String = new Date(this.date.getTime() - 
                 this.date.getTimezoneOffset()*60000).toISOString();

【讨论】:

    【解决方案2】:

    阅读this answer我解决了我的问题。最后我使用:

    moment(new Date().toISOString()).locale('es').format();
    

    感谢sebaferreras

    【讨论】:

    • 听起来不错!很高兴我能帮忙:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 2020-06-19
    相关资源
    最近更新 更多