用javascript转换数组中的日期
convert date from array in javascript
我很难弄清楚如何获取日期戳并将其转换为可读日期。我试过不同的方法,但似乎遗漏了一些东西。我能够获得数组,循环遍历值并获取我需要的东西,但我似乎无法正确转换时间戳(真的)。
这是我的完整代码和一些注意事项:
<script>
var ctx = $("#ertChart").get(0).getContext("2d");
var myNewChart = new Chart(ctx);
var ert = @Html.Raw(Json.Encode(Model)); // contains [{""H":"E","consumption":0.46,"readingdatetime":"'/Date(1410678000000)'/"}]
var ertLabel = [];
var ertValue = [];
for (var i in ert) {
ertLabel.push(ert[i].formatdate('yy-mm-dd', readingdatetime)); // << this is where I've been playing with the date formatting in different ways
ertValue.push(ert[i].consumption);
}
var ertLabelString = ertLabel.join(",");
var ertValueString = ertValue.join(",");
blah
var data = {
labels: [ertLabelString],
datasets: [
{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [ertValueString]
}
]
}
new Chart(ctx).Line(data);
</script>
我想做的是将readingdatetime转换为中可读的日期
mm-dd-yyy HH:mm格式(如果H=E )
或
HH:MM,如果H=I
有人能给我指正确的方向吗?
修改后的代码在这里爆炸:
var ert = @Html.Raw(Json.Encode(Model));
var ertLabel = [];
var ertValue = [];
for (var i in ert) {
var dateString = moment(ert[i].readingdatetime).format("MM-DD-YYYY HH:mm");
ertValue.push(ert[i].consumption);
}
var ertLabelString = dateString.join(","); // << Exception property or method not valid 'Join'
var ertValueString = ertValue.join(",");
类似的东西?
http://jsfiddle.net/OxyDesign/vs2e618L/
JS-
var date = new Date(1410678000000),
month = date.getMonth()+1, //mm
day = date.getDate(), //dd
year = date.getFullYear(), //yyyy
hours = date.getHours(), //HH
minutes = date.getMinutes(), //MM
dateString;
if(month <= 9) month = '0'+month;
if(day <= 9) day = '0'+day;
if(hours <= 9) hours = '0'+hours;
if(minutes <= 9) minutes = '0'+minutes;
dateString = month+'-'+day+'-'+year+' '+hours+':'+minutes;
console.log(dateString);
您会发现在JavaScript中格式化日期并非易事。考虑使用一个库,比如moment.js,这会让事情变得更容易,并涵盖你可能没有想过的边缘情况。
moment(readingdatetime).format("MM-DD-YYYY HH:mm")
相关文章:
- 如何将日期字符串视为格式化数组[EYEAR,MONTH,DAY]
- 对象数组返回自最近日期以来的最高总体值
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从javascript数组获取php的日期时间
- 使用数组表示法对多个字段执行jQuery日期选择器
- 从JSON数组计算javascript中的日期差异
- 使用JavaScript查找数组中最近的日期
- 从客户端的对象数组中获取最新日期的优雅方法是什么
- 我们可以将控制器中的JSON数据(MM/DD/YYYY格式)与今天的's日期,并在数组中显示筛选列表
- 在JavaScript中,按日期和之后的名称过滤数组
- 用javascript将日期时间数组拆分为子日期
- 如何按日期对Javascript对象数组排序
- lodash:根据日期聚合和减少对象数组
- 结果”;加入“;数组与php中javascript中的日期不匹配
- 从数组中排除值后,获取下一个最高日期值
- 如何使用JavaScript查找数组中的最早日期
- 用当前日期填充数组并继续向后
- Javascript从某些元素中提取日期与匹配和正则表达式返回空数组
- 无法设置数组中日期的格式
- 使用 Moment.js 制作本周日期的数组不会添加到数组中