~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:转换类型
作者:张海锋
撰写时间:2019/6/17
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在很多项目中都需要去查询一些日期和时间的字段,而我们通过控制器去查询,使
用returnJson去反回的日期跟时间是一串数字和字符,所以我们就要知道该如何去吧日
期跟时间格式化,什么是格式化呢?就是类型装换。
首先,要知道数据库种中的data、datatime和time、timestamp所要转换的类型就是
DateTime和TimeSpan,那我们要如何去转换呢?转换的方式有两种:一、通过js把查询出来的数字进行转换,转换的方式很简单,把它封装成一个方法在调用就可以了下面是封装方法的代码:
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;
}
下面讲一下通过控制器进行的类型转换。
通过控制器进行转换就得在查询的时候,通过private来把日期和时间类型转换后再查询
出来。把转换的类型封装成一个类,如下:
private string _StrBirthday;
public string StrBirthday
{
get { return _StrBirthday; }
set{
DateTime dt = Convert.ToDateTime(value);
_StrBirthday = dt.ToString("yyyy-MM-dd");
}
}
private string _StrBirthTime;
public string StrBirthTime
{
get { return _StrBirthTime; }
set
{
DateTime dt = Convert.ToDateTime(value);
_StrBirthTime = dt.ToString("HH:mm:ss");
}
}
private string _StrEnterSchoolTime;
public string StrEnterSchoolTime
{
get { return _StrEnterSchoolTime; }
set
{
DateTime dt = Convert.ToDateTime(value);
_StrEnterSchoolTime = dt.ToString("yyyy-MM-dd HH:mm:ss");
}
}
类封装往后直接在查询中,调用就可以了。
类型没转换之前:
转换后日期和时间: