Удалить время из формата времени по Гринвичу

Я получаю дату в формате GMT, пятница, 18 октября 2013 г., 11:38:23 GMT. Проблема в том, что время портит график, который я использую.

Как я могу удалить все, кроме фактической даты?

6 ответов

Решение

Как это:

var dateString = 'Mon Jan 12 00:00:00 GMT 2015';
dateString = new Date(dateString).toUTCString();
dateString = dateString.split(' ').slice(0, 4).join(' ');
console.log(dateString);

Если вы хотите продолжать использовать Date, а не String, вы можете сделать это:

var d=new Date(); //your date object
console.log(new Date(d.setHours(0,0,0,0)));

-PS, вам не нужен новый объект Date, это всего лишь пример на тот случай, если вы хотите зарегистрировать его на консоли.

http://www.w3schools.com/jsref/jsref_sethours.asp

Я использую этот обходной путь:

// d being your current date with wrong times
new Date(d.getFullYear(), d.getMonth(), d.getDate())

Вы можете использовать Moment.js, библиотеку, которая предоставляет множество вспомогательных функций для проверки, управления, отображения и форматирования даты и времени в JavaScript.

Используя Moment.js lib:

var dateString = new Date('Mon Jan 12 00:00:00 GMT 2015');
moment(dateString).format('YYYY-MM-DD HH:mm');

Или упрощенно:

moment('Mon Jan 12 00:00:00 GMT 2015').format('YYYY-MM-DD HH:mm')

Что ж,

Вот мое решение

let dateString = 'Mon May 25 01:07:00 GMT 2020';
let dateObj = new Date(dateString);

console.log(dateObj.toDateString());
// outputs Mon May 25 2020

См. Его документацию по MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toDateString.

Просто порежь это substring:

 var str = 'Fri, 18 Oct 2013 11:38:23 GMT';
 str = str.substring(0,tomorrow.toLocaleString().indexOf(':')-3);

В этом случае вы можете просто манипулировать вашей строкой без использования Dateобъект.

var dateTime = 'Fri, 18 Oct 2013 11:38:23 GMT',
    date = dateTime.split(' ', 4).join(' ');
    
document.body.appendChild(document.createTextNode(date));

Вы можете сначала преобразовать дату в строку:

String dateString = String.valueOf (date);

Затем примените подстроку к строке:

dateString.substring (4, 11) + dateString.substring (30);

Вы должны позаботиться о том, чтобы преобразование даты в строку действительно изменило формат даты.

Другие вопросы по тегам