【问题标题】:Angular2 date range picker format date stringAngular2日期范围选择器格式日期字符串
【发布时间】:2017-05-13 21:14:32
【问题描述】:

我在我的 Angular2/Spring Web 应用程序上使用这个日历:

https://www.npmjs.com/package/ng2-daterangepicker

http://www.日期范围选择器。 com/

我正面临格式化日期输出的问题。从官方文档来看,这是负责格式化日期的对象:

locale.format: "MM/DD/YY" // 返回 05/13/2017

但是,我对更用户友好的输出感兴趣。比如:2017 年 5 月

我应该怎么做?我在哪里可以找到可以用 Javascript 格式化我的日期的字母(在 PHP 中是这样的:http://php.net/manual/en/function.date.php)。

非常感谢您的回复。

【问题讨论】:

    标签: angular datepicker calendar bootstrap-datepicker daterangepicker


    【解决方案1】:

    如果我是你,我会省去在 Javascript 中使用 Dates 的麻烦,然后下载 Moment.js。如果你使用的是 npm,你可以安装它

    npm install moment --save
    

    在 vanilla JS 中使用日期是一件很痛苦的事情,所以 moment 是一个非常强大的库,它可以让您超级轻松地“解析、验证、操作和显示日期和时间”。要在您的 Angular2 组件中使用它,您只需在下载后将其导入到您的组件中。

    import * as moment from 'moment';
    

    然后您可以使用format() 函数格式化您的输出日期。

    let rangePickerValue = new Date(); // example date
    moment(rangePickerValue).format('MMMM YYYY'); // May 2017
    

    您可以在 moment 的文档中查看有哪些类型的时间和日期输出选项:here。例如,MMMM 输出完整月份的名称(一月、二月、三月...),而MMM 打印(一月、二月、三月...)。

    【讨论】:

    • 实际上,我设法在没有 Momentjs 的情况下解决了这个问题。然而,它帮助我意识到我可以使用哪些字母来格式化我的日期。我的解决方案的答案是格式('MMM DD')。谢谢你,兄弟。干杯!
    【解决方案2】:

    你可以使用 DatePipe

    expression | date: format
    

    例子

    {{ date | date: "MMMM yyyy" /* your format */ }}
    

    结果:2017 年 5 月

    【讨论】:

    • 我不能使用任何管道,因为当时我没有需要转换的日期。因此,在官方文档中,我们需要使用 locale 对象来设置用户选择日期后将应用的格式。
    猜你喜欢
    • 2018-10-25
    • 1970-01-01
    • 2017-04-21
    • 2015-12-24
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    相关资源
    最近更新 更多