我需要根据我正在使用的日期范围选择合适的日期/时间格式。 日期范围可以是几周,几天,几小时,几秒(甚至几毫秒)。
我已经研究过moment.js和format.js,但我希望那里有更好的东西。我想实现类似highcharts daterange的东西。这些图表根据范围为日期时间轴选择适当的格式。
任何帮助都将不胜感激。
答案 0 :(得分:1)
试试下面的代码,它仍然很粗糙:
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]);
谢谢,
答案 1 :(得分:0)
首先,我们需要检查此用例是否存在CLDR(http://cldr.unicode.org/)数据,然后您可以在https://github.com/tc39/ecma402打开问题,我们就可以开始在javascript中查找解决方案了以相对形式显示日期范围。