我一直在努力让TypeScript中的Date对象按我希望的方式格式化.

我定义为Module级:

export class Module {

    constructor(public id: number, public name: string, public description: string, 
                 public lastUpdated: Date, public owner: string) { }

    getNiceLastUpdatedTime(): String {

        let options: Intl.DateTimeFormatOptions = {
            day: "numeric", month: "numeric", year: "numeric",
            hour: "2-digit", minute: "2-digit"
        };

        return this.lastUpdated.toLocaleDateString("en-GB", options) + " " + this.lastUpdated.toLocaleTimeString("en-GB", options);
    }
}

当我用以下代码调用该方法时:

    let date = new Date(1478708162000); // 09/11/2016 16:16pm (GMT)
    let module = new Module(1, "Test", "description", date, "test owner");
    console.log(module.getNiceLastUpdatedTime());

最后,我在控制台中打印了以下内容:

'9 November 2016 16:16:02 GMT'

我想看到的是:

09/11/2015 16:16

我已经在:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString查看了文档,但仍然看不出我做错了什么(我知道这是一个JavaScript API文档,但我非常确定TypeScript正在使用它).

推荐答案

如果你想要时间和日期,你想要Date.toLocaleString().

这是直接从我的控制台:

> new Date().toLocaleString()
> "11/10/2016, 11:49:36 AM"

然后可以输入区域设置字符串和格式化字符串,以获得所需的精确输出.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString

Typescript相关问答推荐

Typescript:将内部函数参数推断为子对象键的类型

如果在TypeScript中一个原始的类方法是递归的,如何使用类decorator 模式?

类型脚本接口索引签名

STypescript 件的标引签名与功能签名的区别

使用泛型识别对象值类型

自定义 Select 组件的类型问题:使用带逗号的泛型类型<;T与不带逗号的<;T&>;时出错

Rxjs将省略的可观测对象合并到一个数组中

将类型脚本函数返回类型提取到VSCode中的接口

如何在Type脚本中创建一个只接受两个对象之间具有相同值类型的键的接口?

如何创建由一个帐户签名但使用另一个帐户支付的Hedera交易

如何以类型安全的方式指定键的常量列表,并从该列表派生所挑选的接口?

在tabel管理区域react js上设置特定顺序

仅当定义了值时才按值筛选数组

通过辅助函数获取嵌套属性时保留类型

TypeScript是否不知道其他函数内部的类型判断?

如何在TypeScript中声明逆变函数成员?

TS 排除带点符号的键

可选通用映射器函数出错

使用受保护的路由和入门来响应路由

TS 条件类型无法识别条件参数