Как отформатировать дату JavaScript в британский формат?

Отменяя, вы достигаете динамического полиморфизма. Когда вы говорите об переопределении статических методов, слова, которые вы пытаетесь использовать, противоречивы.

Статические слова - время компиляции, переопределение используется для динамического полиморфизма. Оба они противоположны по своей природе и поэтому не могут использоваться вместе.

Динамическое полиморфное поведение возникает, когда программист использует объект и получает доступ к методу экземпляра. JRE будет отображать различные методы экземпляра разных классов в зависимости от того, какой тип объекта вы используете.

Когда вы говорите, что переопределяете статические методы, статические методы, к которым мы будем обращаться, используя имя класса, которое будет связано с компиляцией времени, поэтому во время работы с статическими методами нет концепции связывания методов. Таким образом, термин «переопределяющий» статические методы сам по себе не имеет никакого значения.

Примечание: даже если вы обращаетесь к методу класса с объектом, все еще java-компилятор достаточно интеллектуальный, чтобы найти его и будет делать статическая связь.

1
задан Jas 18 January 2019 в 13:00
поделиться

2 ответа

Попробуйте

let d= new Date().toLocaleString('en-GB')
let dNoZeros = d.replace(/^0?(\d?\d).0?(\d?\d)/, "$1/$2");

console.log(d);          // 18/01/2019, 14:20:58
console.log(dNoZeros);   // 18/1/2019, 14:20:58

0
ответ дан Kamil Kiełczewski 18 January 2019 в 13:00
поделиться

Вам необходимо специально добавить язык 'en-GB' к toLocaleString :

<a>
  <script type="text/javascript">
    document.write('<p><span id="date">', new Date().toLocaleString('en-GB'), '<\/span>.<\/p>')
    if (document.getElementById) onload = function() {
      setInterval("document.getElementById ('date').firstChild.data = new Date().toLocaleString('en-GB')", 1000)
    }
  </script>
</a>

[1114 ] Что касается вашего кода, это можно сделать с небольшим рефакторингом.

1) Разработчики редко используют document.write для чего-либо еще

2) Передача строки в setInterval считается антишаблоном, так как ее можно использовать для атак XSS .

3) Вам не нужно обновлять код каждые 50 секунд. Через секунду все будет хорошо.

Здесь рефакторинг, за которым немного легче следовать.

// Add the HTML to the document body element
document.body.innerHTML = '<p><span id="date"></span><p>';

// Grab the date element
const date = document.querySelector('#date');

// Create a timer that calls the `changeDate` function once a second
const timer = setInterval(changeDate, 1000);

function changeDate() {

  // Set the textContent of `date` to the new date
  date.textContent = new Date().toLocaleString('en-GB');
}

0
ответ дан Andy 18 January 2019 в 13:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: