【问题标题】:DateTimeFormat in TypeScriptTypeScript 中的日期时间格式
【发布时间】:2017-04-03 16:20:26
【问题描述】:

我想以 24 小时格式显示时间字符串,并认为这在 TypeScript 中很容易。但由于某种原因,我不能将 Date.toLocaleTimeString() 与选项一起使用。知道为什么吗?它们在单独的接口定义中定义。

interface Date {
    toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
    toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
}

另一个选项是使用 Intl.DateTimeFormat 但构造函数返回一个 Collat​​or?

var DateTimeFormat: {
    new (locales?: string[], options?: DateTimeFormatOptions): Collator;
    new (locale?: string, options?: DateTimeFormatOptions): Collator;
    (locales?: string[], options?: DateTimeFormatOptions): Collator;

这是 lib.d.ts 中的复制粘贴错误(与 NumberFormat 相同)还是我应该如何使用它们?

希望这是一个简单的修复,我对 TypeScript 还很陌生,所以我可能错过了一些东西。

【问题讨论】:

标签: typescript


【解决方案1】:

这应该可以工作...

var displayDate = new Date().toLocaleDateString();

alert(displayDate);

但我怀疑你正在尝试其他东西,例如:

var displayDate = Date.now.toLocaleDateString(); // No!

alert(displayDate);

【讨论】:

  • +1 因为这就是答案。但是关于他在做什么,我认为他正在尝试Date.toLocaleDateString 或许值得一提的是接口是不是实例。
  • 谢谢 Bas - 我看不到导致问题的代码行,但你是对的 Date.toLocaleDateString() 不会像 Date.now... 那样工作。
  • 谢谢,我从 json 字符串 (WebApi) 获取数据并使用 toLocaleDateString,但我认为问题在于 Chrome 中的语言设置为英语(美国)(12 小时制)。我的操作系统是瑞典语(24 小时制),所以 Chrome 似乎有自己的本地化设置!?
  • 我仍然认为 DateTimeFormat 构造函数是错误的。为什么要在需要 DateTimeFormat 时返回 Collat​​or?
  • @Fenton 我们如何在实际时间中添加一些分钟或小时?
猜你喜欢
  • 1970-01-01
  • 2017-03-24
  • 2017-12-10
  • 1970-01-01
  • 1970-01-01
  • 2013-04-23
  • 1970-01-01
相关资源
最近更新 更多