【问题标题】:How do I format start and end dates into custom format in Javascript?如何在 Javascript 中将开始和结束日期格式化为自定义格式?
【发布时间】:2014-09-10 18:35:47
【问题描述】:

我有一个活动的开始日期和结束日期如下:

var startDate = '10/9/2014 10:00:00 AM'
var endDate = '10/10/2014 5:00:00 PM'

所以我的活动从星期四开始,到星期五结束

我想以如下格式显示

10 月 9 日至 10 日星期四和星期五

如果是一天

10 月 9 日星期四

超过 2 天

10 月 9 日至 12 日星期四至星期日

我认为 momentjs 可能是这样做的方法,但我还没有使用它,我想我会在尝试自己解决问题的同时发布问题并看看你们的建议。

【问题讨论】:

  • 片刻会有所帮助,但你的提问方式是错误的......先尝试,然后在遇到问题时提问
  • 在询问之前尝试一切的问题是双重的,有太多的事情要尝试。要求人们分享解决问题的方法是合理的。我不是在要求某人编写代码,而是在他们做了这样的事情时分享他们所做的事情。我一直在解决这个问题并且被卡住了,所以我发布了。其次,人们喜欢得分,如果问题不是被问到的问题,那么进行良好的讨论是个好主意。你用过 Sugar.js 还是 date.js?
  • 步骤相当简单。使用日期差异来确定是同一天、相隔一天还是相隔一天以上。调整三个条件之一的输出。不需要库,但因为它们有一些方便的方法可能会有所帮助。您必须为其中两种情况创建输出格式。至于 get discussion going ,这不是 SO 的工作原理
  • 很多关于事情“应该”如何工作的意见,但感谢您的意见。如果你想把它作为答案,我会给你。

标签: javascript angularjs momentjs


【解决方案1】:

不幸的是,没有 JavaScript Date 构造函数允许您传递文化信息,以便它使用本地化的日期格式。最好的办法是使用分别获取年、月和日的构造函数:

var parts = dateString.split('/');
var date = new Date(parseInt(parts[2], 10), 
                parseInt(parts[1], 10), 
                parseInt(parts[0], 10));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    相关资源
    最近更新 更多