Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.12.2016, 17:10
Интересующийся
Отправить личное сообщение для MrMaks109 Посмотреть профиль Найти все сообщения от MrMaks109
 
Регистрация: 10.12.2016
Сообщений: 10

Cравнить две даты
Нужно расчитать дни между двумя датами, месяц день и год, вводить в разных окнах.
var m = prompt('Enter the size of the matrix ', 10);
var d = prompt('Enter the size of the matrix ', 04);
var y = prompt('Enter the size of the matrix ', 2000);
var d0 = new Date(m d y); 
var d1 = new Date(); 
var dt = (d1.getTime() - d0.getTime()) / (1000*60*60*24); 
document.write('Стартовая дата - <B>' + d0 + '</B> <br />От начала стартовой даты уже наступил <B>' + Math.round(dt) + '</B> день');
Ответить с цитированием
  #2 (permalink)  
Старый 11.12.2016, 18:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от MrMaks109
var d0 = new Date(m d y);
А если пользователь просто закроет окно?
Ответить с цитированием
  #3 (permalink)  
Старый 11.12.2016, 18:54
Интересующийся
Отправить личное сообщение для MrMaks109 Посмотреть профиль Найти все сообщения от MrMaks109
 
Регистрация: 10.12.2016
Сообщений: 10

я уже сделал, но если закроет то возьмется стандартная дата 30 ноября 1899 год
Ответить с цитированием
  #4 (permalink)  
Старый 11.12.2016, 18:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от MrMaks109
то возьмется стандартная дата 30 ноября 1899 год
Это какого такого стандарта? Да и так как написано вернет не дату, а ошибку.

Последний раз редактировалось laimas, 11.12.2016 в 19:00.
Ответить с цитированием
  #5 (permalink)  
Старый 11.12.2016, 19:20
Интересующийся
Отправить личное сообщение для MrMaks109 Посмотреть профиль Найти все сообщения от MrMaks109
 
Регистрация: 10.12.2016
Сообщений: 10

laimas,
если ничего вы не вводите то идет значение 0, а отсчет начинается с 30 ноября 1899
Ответить с цитированием
  #6 (permalink)  
Старый 11.12.2016, 19:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от MrMaks109
а отсчет начинается с 30 ноября 1899
Отсчет начинается с эпохи Unix равной 1 января 1970 00:00:00 GMT. Только на клиенте будет отображаться не эта дата, а скорректированная по смещению часового пояса клиента.

А аргументы функции перечисляются не через пробел, а через запятую.
Ответить с цитированием
  #7 (permalink)  
Старый 11.12.2016, 20:35
Интересующийся
Отправить личное сообщение для MrMaks109 Посмотреть профиль Найти все сообщения от MrMaks109
 
Регистрация: 10.12.2016
Сообщений: 10

Вообщем как оно работает. Код:
function sm() 	{
var p1 = document.getElementById('t');
var p2 = document.getElementById('n');
var p3 = document.getElementById('o');
y = p1.value;
m = p2.value;
d = p3.value;
var d0 = new Date(y, m -1, d); 
var d1 = new Date(); 
var dt = (d1.getTime() - d0.getTime()) / (1000*60*60*24); 
document.write('Вы ввели дату: - <B>' +d0+ '</B> <br />от начала стартовой даты уже прошло <B>' + Math.round(dt - 1) + '</B> дней'); 
				}

Ввел пустое значение
.
Получил:
Ответить с цитированием
  #8 (permalink)  
Старый 12.12.2016, 02:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Это не есть стандартное время, это есть неопределенная хрень, так как в параметрах каша, от этого и зависит результат. А все программные часики считают от начала эпохи Unix.

Измените на своем компе часовой пояс и можно гарантировать, что ваша "стандартная дата" будет со странностями.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сравнить две даты avsavs Общие вопросы Javascript 3 26.03.2016 10:45
Как сравнить две даты? jack3dm Общие вопросы Javascript 9 21.03.2016 22:43
Имеет ли смысл хранить даты в отдельной таблице? frutality Серверные языки и технологии 7 15.08.2013 19:39
regexp формат даты eca Общие вопросы Javascript 10 23.01.2012 12:59
проблема с сортировкой даты rave82 jQuery 3 27.09.2011 01:35