2014-12-23 4 views
0

Мне нужно выбрать подходящий формат даты/времени в зависимости от диапазона дат, с которым я работаю. Диапазон дат может составлять несколько недель, дней, часов, секунд (даже миллисекунды).Формат даты/времени относительно диапазона дат

Я заглянул в moment.js и format.js, но я надеюсь, что там что-то лучше. Я хочу достичь чего-то вроде highcharts daterange. Эти диаграммы выбирают подходящие форматы для оси datetime в соответствии с диапазоном.

Любая помощь будет оценена по достоинству.

+0

Я не думаю, что вы читаете вопрос. –

+0

Ooopz sry. Я вставил неверную ссылку. Попробуйте следующее: http://eonasdan.github.io/bootstrap-datetimepicker/ –

+0

чувак @tharindu, я * НЕ * ищет сборщик datetime. –

ответ

0

Попробуйте это ниже код, он по-прежнему грубо:

var start = new Date(2014,12,22); 
var end = new Date(2014,12,23); 

var range = end.getTime() - start.getTime(); // milliseconds 
var seconds = range/1000; 
var minutes = seconds/60; 
var hour = minutes/60; 
var days = hour/24; 
var months = days/30; 
var year = months/12; 

var maxValue = [9999, 12, 31, 24, 60, 60]; 
var dateRange = [year, months, days, hour, minutes, seconds]; 
var dateFormat = ['#yr', '#mt', '#d', '#h', '#min', '#sec']; 

var specifiedIndex = 0; // default format 
for (var index = 0; index < maxValue.length; index ++) 
{ 
    if ((dateRange[index] < maxValue[index]) && (dateRange[index] >= 1)) 
    { 
     specifiedIndex = index; 
     index = maxValue.length; 
    } 
} 
alert("format date = " + dateFormat[specifiedIndex]); 

Спасибо,

+0

Спасибо, я искал библиотеку (ленивый). Но я могу расширить это до своего дела. –

0

Во-первых, нам нужно проверить, существует ли (http://cldr.unicode.org/) данные CLDR для этого сценария использования, то вы можете открыть здесь проблему https://github.com/tc39/ecma402, и мы можем начать искать решение в javascript для отображения диапазонов дат в относительной форме.

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