Предположим, что указанная дата 2010-11-9
, как получить длительность программно?Как получить длительность дней с сегодняшнего дня до указанной даты в javascript?
1
A
ответ
2
Как насчет этого от here?
function days_between(date1, date2) {
// The number of milliseconds in one day
var ONE_DAY = 1000 * 60 * 60 * 24
// Convert both dates to milliseconds
var date1_ms = date1.getTime()
var date2_ms = date2.getTime()
// Calculate the difference in milliseconds
var difference_ms = Math.abs(date1_ms - date2_ms)
// Convert back to days and return
return Math.round(difference_ms/ONE_DAY)
}
0
Это не точно уместна, но вы можете позвонить getTime()
из Date
, например, чтобы получить число миллисекунд с начала эпохи. Вычтите два из них и разделите их на количество миллисекунд в день.
Если вы хотите, вы можете взять даты назад к началу своих дней явно установив часы, минуты и секунды до нуля:
function startOfDay(d) {
d.setHours(0); d.setMinutes(0); d.setSeconds(0); d.setMilliseconds(0);
return d;
}
var startOfToday = startOfDay(new Date());
0
Math.abs(new Date() - Date.parse("Nov 9, 2010"))/(60*60*24)/1000
возвращается:
24.786491909722223
0
function daysTo(from, to){
// to and from may be
// strings in the form'yyyy-mm-dd' or 'yyyy-m-d'
// split the strings on dashes and possible leading 0,
// to avoid '08' becoming octal '10'
to= to.split(/\-0?/);
to= new Date(+to[0], to[1]-1, +to[2]);
from= from.split(/\-0?/);
from= new Date(+from[0], from[1]-1, +from[2]);
return Math.round((to-from)/86400000));
}
daysTo ('2010-9-10', '2011-9-10') // или daysTo ('2010-09-10', '2011-09-10')
/* Возвращаемое значение: (номер) */
Округление результата сглаживает Daylight Savings коррекций.
Если вы создаете новую дату без указания времени, дата будет установлена в полночное местное время.
Объекты вычитания даты преобразуют их в миллисекунды - вам не нужно использовать getTime().
Смежные вопросы
- 1. JavaScript расчет даты с сегодняшнего дня до 7 дней до
- 2. Получить количество дней до указанной даты Javascript
- 3. Кол-во дней до сегодняшнего дня moment.js
- 4. Рассчитать через X дней с сегодняшнего дня
- 5. Динамическое число дней до сегодняшнего дня
- 6. Дата начала до 30 дней с сегодняшнего дня и до 12 месяцев с сегодняшнего дня
- 7. XQuery - Как получить 90 дней до даты с указанной даты?
- 8. Visual Basic: Расчет дней до дня рождения с сегодняшнего дня
- 9. MYSQL выберите даты до сегодняшнего дня
- 10. Запрос с сегодняшнего дня до вчерашнего дня
- 11. Как узнать количество дней до сегодняшнего дня в этом году
- 12. За 15 дней до сегодняшнего дня в SQL Server
- 13. NSDate. Схватывая все даты до сегодняшнего дня
- 14. Wordpress json-api plugin Последние сообщения с указанной даты до сегодняшнего дня
- 15. Дата проверки более 2-х дней с сегодняшнего дня Javascript
- 16. Как изменить цвет фона дней до сегодняшнего дня в FullCalendar ...?
- 17. Joda LocalDateTime: как получить дату до сегодняшнего дня
- 18. Как получить 30 дней с сегодняшнего дня, включая месяц январь
- 19. Рассчитать прошлые даты с сегодняшнего дня в JavaScript
- 20. Python: как получить количество дней от фиксированной даты до сегодняшнего дня
- 21. Находить ближайшие 30 дней с сегодняшнего дня
- 22. Отправить электронное письмо до определенных дней с сегодняшнего дня
- 23. Android - Как добавить дни до сегодняшнего дня
- 24. Как отключить даты до сегодняшнего дня в jquery UI datepicker?
- 25. Как получить 7 дней до сегодняшнего дня в mysql с помощью запроса?
- 26. DAX parallelperiod до сегодняшнего дня
- 27. Android 30 дней с сегодняшнего дня
- 28. C# 30 дней с сегодняшнего дня
- 29. Swift - Получить последние 7 дней с сегодняшнего дня в массиве
- 30. Как получить временную длину с сегодняшнего дня до начала сегодняшнего дня (00h: 00p: 00s) в angularjs
Но моя' date2' на самом деле такая строка, как '2010-11-9' .. – ollydbg