Удалить секунды/миллисекунды с даты преобразования в строку ISO

У меня есть объект даты, который я хочу

  • удалить милисекунды/или установить 0
  • удалить секунды или установить 0
  • Преобразование в строку ISO

Например:

var date = new Date();
//Wed Mar 02 2016 16:54:13 GMT-0500 (EST)

var stringDate = moment(date).toISOString();
//2016-03-02T21:54:13.537Z

Но в конце концов я действительно хочу

stringDate = '2016-03-02T21:54:00.000Z'

Ответ 1

Хотя это легко решить с помощью простого javascript (см. Ответ RobG), я хотел показать вам решение момента, так как вы пометили свои вопросы как momentjs:

moment().seconds(0).milliseconds(0).toISOString();

Это дает вам текущее время без секунд или миллисекунд.

Рабочий пример: http://jsbin.com/bemalapuyi/edit?html,js,output

Из документов: http://momentjs.com/docs/#/get-set/

Ответ 2

Нет необходимости в библиотеке, просто установите секунды и миллисекунды на ноль и используйте встроенный метод toISOString:

var d = new Date();
d.setSeconds(0,0);
document.write(d.toISOString());

Ответ 3

Немного поздно, но теперь вы можете:

var date = new Date();

этот объект имеет:

date.setMilliseconds(0);

и

date.setSeconds(0);

затем вызовите toISOString(), как и вы, и все будет в порядке.

Не осталось ни минуты, ни других.

Ответ 4

Чистые javascript-решения для отключения секунд и миллисекунд (это удаление, а не только значение 0). JSPerf говорит, что вторая функция быстрее.

function getISOStringWithoutSecsAndMillisecs1(date) {
  const dateAndTime = date.toISOString().split('T')
  const time = dateAndTime[1].split(':')
  
  return dateAndTime[0]+'T'+time[0]+':'+time[1]
}

console.log(getISOStringWithoutSecsAndMillisecs1(new Date()))

Ответ 5

Вы можете использовать метод startOf() в течение момента времени .js для достижения желаемого.

Вот пример:

var date = new Date();

var stringDateFull = moment(date).toISOString();
var stringDateMinuteStart = moment(date).startOf("minute").toISOString();

$("#fullDate").text(stringDateFull);
$("#startOfMinute").text(stringDateMinuteStart);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.2/moment.js"></script>
<p>Full date: <span id="fullDate"></span></p>
<p>Date with cleared out seconds: <span id="startOfMinute"></span></p>

Ответ 6

let date = новая дата();

date = новая дата (date.getFullYear(), date.getMonth(), date.);

Я надеюсь, что это работает !!