【问题标题】:Can I get help formatting my future dates javascript?我可以获得格式化我未来日期 javascript 的帮助吗?
【发布时间】:2020-07-24 03:06:08
【问题描述】:

正在开发一个包含 5 天预报的天气应用程序,我希望显示日期。我不知道如何将其格式化为月份、日期和年份(例如:2020 年 7 月 23 日),应该是“会”。它仍显示为“2020 年 7 月 23 日星期五 2020 年 7 月 24 日 19:54:06 GMT-0700(太平洋夏令时间)日”,而不是正确格式化。

这是我的 HTML:

    <div class="row">
        <div class="col" id = "one" ></div>
        <div class="col" id = "two" > Day Two</div>
        <div class="col" id = "three" > Day Three</div>
        <div class="col" id = "four" > Day Four</div>
        <div class="col" id = "five" > Day Five</div>
    </div>

这是我的 javascript:

const tomorrow = new Date()

tomorrow.setDate(new Date(ll).getDate() + 1);

var one = document.getElementById('one');
one.innerHTML = tomorrow;

【问题讨论】:

  • 你在哪里使用的时刻?
  • 希望您使用 moment 更改代码?
  • 我以为我使用了矩格式,但我猜不是?如果它更容易,我不介意改变片刻。或者,如果我可以使用也可以使用的标准 javascript 格式化它。
  • 我在下面添加了一个答案。如果它不是您要找的东西,那么 moment 就可以了,但它非常有限,我们改用 Kendo 日期工具。

标签: javascript


【解决方案1】:

假设您需要的格式总是像您提到的那样

function format(date){
    var months=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
    var suffices={_0:'th',_1:'st',_2:'nd',_3:'rd',_4:'th',_5:'th',_6:'th',_7:'th',_8:'th',_9:'th',_11:'th',_12:'th',_13:'th'};
    return months[date.getMonth()]+' '+date.getDate()+(suffices['_'+date.getDate()] || suffices['_'+date.getDate()%10])+' '+date.getFullYear();

}

用法

format(new Date())//returns "Jul 24th 2020"
format(new Date(2020,11,13))//returns "Dec 13th 2020"

【讨论】:

  • 所以我在我已经拥有的代码之前添加了你的函数并且它没有改变任何东西。有什么建议吗?
  • 您需要将tomorrow 传递给给定的函数。这将为您提供格式化的日期字符串。这不是你想要的吗?
  • 我不明白你的问题。我的目标是在 2020 年 7 月 23 日(或当前日期)将其显示在我的屏幕上。
  • 您的问题是您在格式化日期时遇到问题。我给你的 fn 只处理这个问题。在您的情况下,您需要将 tomorrow 传递给此 fn,并将返回的值分配为 one.innerHTML = format(tomorrow);
【解决方案2】:

如果您只是想要日期的左侧,您所要做的就是解析日期字符串。像这样的:

var mydate = new Date().toString().split(' ');
var formattedDate = b =  a[1] + " " + a[2] + " " + a[3];

如果你坚持在你的号码后面加上“rd”,那将需要一个查找表,就像其他一些答案一样。此代码按空格将字符串拆分为字符串数组,然后将第 2、第 3 和第 4 个元素组合成一个新字符串。

【讨论】:

  • 我正在输入它,但它不起作用。我插错了吗? var mydate = new Date().toString().split(' '); var formattedDate = b = a[1] + " " + a[2] + " " + a[3];常量明天 = 我的日期;明天.setDate(mydate.getDate() + 1); var one = document.getElementById('one'); one.innerHTML = 明天;
猜你喜欢
  • 1970-01-01
  • 2016-07-07
  • 2018-09-28
  • 2021-09-15
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
相关资源
最近更新 更多