Javascript无法将日期格式化为星期几,然后是星期几

时间:2019-05-03 22:04:28

标签: javascript format datetime-format

在使用javascript内置的Intl.DateTimeFormat格式化日期时,如果您提供格式{weekday : 'short', day 'numeric'},它将重新排列两者,并始终给出day,然后是工作日。

供参考:

console.log(new Intl.DateTimeFormat('en-US', {
  weekday: 'short',
  day: 'numeric'
}).format(new Date));

我希望有Fri 3,但我会收到3 Fri

我使用不正确吗?还是这是个错误?

我尝试的直接解决方法是仅在工作日格式化,然后在一天格式化,然后附加两个可行的格式,但这对我的项目而言并不理想。

3 个答案:

答案 0 :(得分:0)

en-US总是一天/一个工作日,=>使用en-GB

let
  date3may = new Date('May 3, 2019 15:24:00'),
  Options  = {weekday:'short', day:'numeric'};

console.log(new Intl.DateTimeFormat('en-GB', Options).format(date3may));

答案 1 :(得分:0)

输出的顺序由语言环境定义。

如果要避免串联,可以使用其他英语语言环境,例如en-AU

    var date = new Date();

    console.log(new Intl.DateTimeFormat('en-AU', {
      weekday: 'short',
      day: 'numeric'
    }).format(date));

有关所有可能的语言环境的列表,可以参考here(MDN)或here(StackOverflow)。

答案 2 :(得分:0)

根据MDN,要获得具有一致结果的所需结果的正确方法是使用sbutton = expected_conditions.presence_of_element_located((By.CSS_SELECTOR, 'div.btn.btn-success')) WebDriverWait(driver, timeout_limit).until(sbutton) 方法,然后手动操作给定的数组。

我的第一种方法如下:

Intl.DateTimeFormat.prototype.formatToParts()