2013-08-12 2 views
0

Я хочу разработать функцию JavaScript для вычисления активности пользователей на основе даты на сервере, на котором хранятся данные. Проблема заключается в том, что дата является строкой, как это:Получите разницу во времени между двумя строками даты

2013-08-11T20: 17: 08.468Z

Как я могу сравнить два строки, как это вычислить минорные и мажорные время как в пример?

+2

Что вы подразумеваете под рекламой малого/основного времени? Если вы хотите сравнить время, вы должны преобразовать свою дату в эпоху UNIX следующим образом: 'new Date (myDateString) .getTime()'. –

+2

Вы еще что-нибудь пробовали? Вы должны иметь возможность написать несколько строк для сравнения времени, используя объект ['Date'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) и его ['.getTime()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects% 2FDate% 2FgetTime). – ajp15243

+0

Ваша база данных, вероятно, может сравнивать даты для вас, если вам нужно сделать это на стороне клиента, вы, вероятно, можете получить db, чтобы вернуть результат в что-то более простое сравнение. – NickSlash

ответ

1

Если вы хотите сравнить две даты только использовать это:

var dateA = '2013-08-11T20:17:08.468Z'; 
var parsedDateA = new Date(dateA).getTime(); 

var dateB = '2013-06-06T17:33:08.468Z'; 
var parsedDateB = new Date(dateB).getTime(); 

if(parsedDateA > parsedDateB) { 
    // do something 
} 
0

Предполагая, что вам нужно делать сравнения на стороне клиента, лучший способ - загрузить даты в объекты Date, используя Date.parse. Затем сравните их, используя функции, предусмотренные для Date, например getTime.

0

Try parse метод:

var s = "2013-08-11T20:17:08.468Z"; 
var d = Date.parse(s); 
+0

Я действительно ссылался на 'w3schools', но только понял, что здесь должно быть [' disclaimer'] (http://www.w3fools.com/) – rook

0

Как я понял вы на правильном пути, есть хороший ответ на ваш вопрос here.

Вы также можете посмотреть this very good Library (DateJS).

Если возникнут проблемы с преобразованием даты-String в js- Date посмотреть на this Page.

+0

[Ответы только на ссылки очень расстроены] (http: // meta. stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers) – ajp15243

+0

@ ajp15243 Я знаю это. Но должен ли я снова ввести весь ответ, скопировать код DateJS или скопировать с сайтов справки msdn? Я думаю, что копии других членов почти одинаковых вопросов тоже не расстроены. – Martin

+0

Вам не нужно делать прямую копию/вставку, но вы можете использовать информацию в этих ссылках, чтобы ввести свой собственный ответ. Нет ничего плохого в том, что по сути является дублирующим ответом, если вы используете чужой ответ, чтобы сообщить свои собственные (при условии, что их ответ правильный). Кроме того, если ваш ответ окажется дубликатом, то вполне вероятно, что вопрос является дубликатом (что является проблемой с вопросом, а не вашим ответом). Также нет ничего плохого в длинных (информативных) ответах, и ничего плохого в ссылках «дальнейшего чтения» (например, на сайтах lib и MSDN) не существует. – ajp15243

Смежные вопросы