处理时间格式

如果时间直接用json返回,就会出现下面这种情况。数据库中的数据类型到了C#就会发生改变。C#中主要有两大类型,datetime表示年月日时分秒,timespan表示时间差。
处理时间格式_第1张图片
在页面处理要用到自定义列表。templet自定义列摸版,它可以实现逻辑处理,以及将原始数据转化成其他格式。
处理时间格式_第2张图片
处理时间的方法,把json类型的时间传进去。将获取到的字符串进行处理,用正则表达式把时间部分的数字取出来。然后把取出来的数字转成日期类型。西方的月份是从0开始的,所以要加上1。再进行三目运算,如果小于10就在前面加上0,如果大于10就正常返回。Date的处理方法和月份的一样,如果小于10就在前面加上0,如果大于10就正常返回。
function ChangeDateFormat(jsondate, isDateTime) {
jsondate = jsondate.replace("/Date(", “”).replace(")/", “”);
if (jsondate.indexOf("+") > 0) {
jsondate = jsondate.substring(0, jsondate.indexOf("+"));
}
else if (jsondate.indexOf("-") > 0) {
jsondate = jsondate.substring(0, jsondate.indexOf("-"));
}
var date = new Date(parseInt(jsondate, 10));
var month = date.getMonth() + 1 < 10 ? “0” + (date.getMonth() + 1) : date.getMonth() + 1;
var currentDate = date.getDate() < 10 ? “0” + date.getDate() : date.getDate();
var str = date.getFullYear() + “-” + month + “-” + currentDate;
if (isDateTime != null && isDateTime != undefined && isDateTime == true) {
var hours = date.getHours() > 9 ? date.getHours() : “0” + date.getHours();
var minutes = date.getMinutes() > 9 ? date.getMinutes() : “0” + date.getMinutes();
var seconds = date.getSeconds() > 9 ? date.getSeconds() : “0” + date.getSeconds();

str = str + " " + hours + “:” + minutes + “:” + seconds;
}
return str;
}
注:上述代码来自教学内容。

你可能感兴趣的:(处理时间格式)