在进行wb程序开发和项目开发,特别是一些平台,比如售票平台,销售平台等等,就拿售票平台来说,比如售票平台,这种平台往往都会涉及到非常庞大的数据量,而这种平台对数据的管理操作往往也是非常的密切的,因为这种平台的使用率非常的高,所有对于数据也是非常的密切,只要有人进行售票,那么数据也就时时刻刻在更新,所以数据对于平台来说是很重要的,不管是什么类型的平台,都会需要数据。
虽然开发完成的平台用起来是非常的容易方便,但是平台开发的过程可一点都不轻松,就比如我在进行项目开发练习的时候,这个练习的项目也是售票的,就做查询数据返回页面的时候,就出了问题,就是它们的那个时间类型在数据库里面的类型和项目控制器的类型对不上,从而使得查询出来的时间在返回页面上显示的时候,变成了字符串object,对于这种问题,我们需要做的就是转化时间类型格式。
当然,在出现问题,知道需要转化时间类型格式的时候,首先得知道我们在数据库里面给那个时间数据的字段是什么类型,对于时间的类型,在数据库里面有很多中,也就是data、datatime和time、timestamp,我们需要做的就是把这些数据类型转化成对应的格式,也就是可以转化成DateTime和TimeSpan,对于转化的方式有两中,其中一种就是在页面进行转化,转化代码方法如下:
function ChangeDateFormat(jsondate, isDateTime) {
// 929462400000
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;
}
比如说我们现在需要进行转化的时间格式是一个日期格式,那么我们就可以通过一个方法,传递一个参数,在获取到需要进行转化的数据之后,在哪个方法里面对上面的方法进行调用,把需要转化的数据传递过去,然后进行转换,再进行数据的返回:代码如下:
function setBirthday(Birthday) {
// /Date(929462400000)/
var Birthday = data.Birthday;
return ChangeDateFormat(Birthday, false);
}
最开始,我们从数据库里面进行查询,查询出来的日期返回页面显示出来是这样的Date(929462400000),然后进行方法处理,就变成了一个正常的日期(yyyy-MM-dd),
下面是效果证明图:
这是刚刚查询出来的日期,还没有进行转化的。
接下来是已经进行转化的再返回页面的日期。