时间是经常会用到的字段,不同的语言里也拥有不同的时间类型和Date对象方法,显示时间的样式也是多种多样的。而如何让时间显示出想要的样式和进行不同语言、类型之间的转换亦是件不可轻视的事情。
这里就讲讲我是如何做的。
首先我数据库使用的是SQL Server软件。表中有储存时间的字段,由于需要年月日、时分秒,使用的数据类型是datetime。开发使用的是ASP.NET MVC模式。需要用到时间的地方是记录登录信息,在登录方法中将当时的时间保存在Session中
Session["ServerTime"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); ;//登录时间
在记录方法中取用时间,但Session中数据时string类型,保存在数据库时datetime 类型,需要进行转换才可以保存。
pw_AdministratorJornal.AddTime = Convert.ToDateTime(Session["ServerTime"]);
保存在数据库中后,开发中需要制作对应的数据表格。
查询数据库、分页、输出
本以为十拿九稳的事出了意外,只能想办法解决。
转换的话,想到了DateTime对象方法中的ToString("yyyy-MM-dd HH:mm:ss"),指定输出形式。但这是string类型,那么表格数据中的时间字段就改为string类型,查询数据库后对数据进行转化。
使用for循环将列表数据取用,申明DateTime对象 a,赋值于转化DateTime类型后的列表时间字段。再将a进行指定形式字符串转化赋值于数据表格的string类型时间字段。输出后的结果就很完美,感觉写这么麻烦是没必要的,但至少解决了问题。
我知道了,在控制器直接转string类型就行。
AdministratorJornal[i].AddTimee = AdministratorJornal[i].AddTime.ToString();