关于时间类型的问题

开发工具与关键技术:Visual Studio、MVC
作者:幻奏
撰写时间:2019.6.2

我在做项目的时候遇到了一个问题,我要把时间显示到表格上,然后我像平常那样写,linq查询,然后返回数据,然后加载数据表格。我写完后是这个样子的。
在这里插入图片描述
它显示了这个东西,好吧,是它的类型没转换对,我数据库的类型是datatime,然后我就试着转换它的类型。没办法,我是一个萌新嘛,刚开始有很多不会的地方,所以我在网上看了很多解决方法,可是,还是不行。
然后我就去问了一下别人,他们教我这样写。
创建一个实体类,然后把它写进去

public string Time;

        public string Times
        {
            get
            {
                try
                {
                    Times = Convert.ToDateTime(Time).ToString("yyyy-MM-dd HH:mm:ss");
                    return Time;
                }
                catch (Exception)
                {
                    return Time;
                    throw;
                }

            }
            set
            {
                Time = value;
            }
        }

然后在控制器那里写linq表达式,那个时间类型的还要把它tostring才可以。

 List<SWZLVo> listShiWuBg = (from tbCaim in myModel.PW_Claim
                                        join tbClaimState in myModel.S_ClaimState on tbCaim.ClaimStateID equals tbClaimState.ClaimStateID
                                        join tbOperator in myModel.PW_Operator on tbCaim.OperatorID equals tbOperator.OperatorID
                                        select new SWZLVo
                                        {
                                            Name = tbOperator.Name,
                                            ClaimState = tbClaimState.ClaimState,
                                            GuesName = tbCaim.GuesName,
                                            FangNumber = tbCaim.FangNumber,
                                            PickUpPerson = tbCaim.PickUpPerson,
                                            Times = tbCaim.PickUpDate.ToString(),
                                            Detail = tbCaim.Detail,
                                            ClaimPerson = tbCaim.ClaimPerson,
                                            TimesTwo = tbCaim.ClaimDate.ToString(),
                                            Remark = tbCaim.Remark,
                                            ClaimStateID = tbClaimState.ClaimStateID,
                                            ClaimID = tbCaim.ClaimID,
                                        }).ToList();

注意:这里它会返回两个不同时间的值,一个是它原来的时间格式,另一个是转换后的时间格式,我们只要获取我们需要的时间就行了,其他的不管它。写完了之后还要计算数据的总条数,提取数据,实体化,赋值等等。

 //计算总条数
            int totalRow = listShiWuBg.Count();

            //提取数据
            List<SWZLVo> dbShiWuBg = listShiWuBg
                                    .Skip(layuiTablePage.GetStartIndex())
                                    .ToList();

            //实例化
            LayuiTableData<SWZLVo> layuiTableData = new LayuiTableData<SWZLVo>();

            //赋值
            layuiTableData.count = totalRow;
            layuiTableData.data = dbShiWuBg;

最后返回数据。

return Json(layuiTableData, JsonRequestBehavior.AllowGet);

之后我们再改一下视图那边,加载数据表格我用的是这个插件,然后加载数据表格的模块,再到cols里面改一下它的名字,改用Times接收,不用它原来的名字了,要不然数据会接收不到的。
在这里插入图片描述
这样写好后基本没什么问题了,时间就可以在layui的数据表格显示出来了。
在这里插入图片描述
好了,这个问题我就是这样子解决的,本来我想找更简单的方法的,可是我没有找到,你要是会就告诉我一下,这样子我就能懂多一点东西了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值