我是靠谱客的博主 沉静冰淇淋,最近开发中收集的这篇文章主要介绍lambda表达式的日期问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近,小编遇到了一个恶心人的问题。
开发使用的MySQL数据库,底层用的EF映射,查询使用的linq或者lambda表达式。
页面中,日期格式

这里写图片描述

数据中,日期格式datetime类型。

这里写图片描述

根据日期格式”yyyy-MM-dd”,查询日期格式”yyyy-MM-dd hh-mm-ss”,看到这里当然是使用模糊查询Contains。
这还没有结束,一个恶心人的问题出现了,通过lambda表达式查询MySQL数据库中的datetime类型的字段值,查询出来日期时间中间的字符变为了斜线,而数据库中的是横线,
其次,就是查询出来的月份和天数,如果前面为0的话,它会自动的去掉。
数据库中的日期

这里写图片描述

查询出来的日期

这里写图片描述

这就恶心了,前台传到后台的Sting类型的datetime,首先需要符号转换,然后进行判断,把月份和天数前面的0去掉。
代码如下:

public List<t_mcoin> QueryRecordID(string UserID, string Date)
{
try
{
//string转换为datetime
DateTimeFormatInfo dtFormat = new System.Globalization.DateTimeFormatInfo();
dtFormat.ShortDatePattern = "yyyy-MM-dd";
DateTime datetime = Convert.ToDateTime(Date, dtFormat);
//日期格式转换,将-,转换为/
//2017-04-30,转换为2017/04/30
String dateformat = Date.Replace("-", "/");
string month;
string monthstart;
string monthend;
string Strmonth;
string day;
string daystart;
string dayend;
string Strday;
//判断是否为1~9月,月份去0
month = dateformat.Substring(5, 1);
if (month == "0")
{
//月份去0
monthstart = dateformat.Substring(0, 5);
monthend = dateformat.Substring(6, 4);
Strmonth = monthstart + monthend;
//判断是否为1~9天,天数去0
day = Strmonth.Substring(7,1);
if (day == "0")
{
//天数去0
daystart = Strmonth.Substring(0, 7);
dayend = Strmonth.Substring(8, 1);
Strday = daystart + dayend;
}
else {
Strday = Strmonth;
}
}
else {
//天数去0
day = dateformat.Substring(8,1);
if (day == "0")
{
daystart = dateformat.Substring(0, 8);
dayend = dateformat.Substring(9, 1);
Strday = daystart + dayend;
}
else {
Strday = dateformat;
}
}
//引用上下文
excellentmcoinEntities DBcontext = new excellentmcoinEntities();
List<DayDetailsViewModel> QueryRecordID = new List<DayDetailsViewModel>();
//数据库中书写的格式,2017-04-05 10:41:26
//数据库中查询出来的格式,2017/4/5 10:41:26
var query = DBcontext.t_mcoin.ToList().Where(d => d.date.ToString().Contains(Strday) && d.userID == UserID).ToList();
//var query = DBcontext.t_mcoin.ToList();
return query;
}
catch (Exception e)
{
throw e;
}
}

最后

以上就是沉静冰淇淋为你收集整理的lambda表达式的日期问题的全部内容,希望文章能够帮你解决lambda表达式的日期问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部