String 将字符串转换为日期时间

String 将字符串转换为日期时间,string,datetime,String,Datetime,我有asp.net应用程序,正在使用实体框架将其与数据库连接。在这个应用程序中,我有一个文本框来获取日期(我在这里使用日历css样式),它是字符串类型 我的数据库中有一列及其日期时间格式,我需要将文本框值与数据库中的日期列进行比较,为此,我只使用了以下代码 public StudentAttendances(string date) { if (date != "") { DateTime date1 = Convert.ToDat

我有asp.net应用程序,正在使用实体框架将其与数据库连接。在这个应用程序中,我有一个文本框来获取日期(我在这里使用日历css样式),它是字符串类型

我的数据库中有一列及其日期时间格式,我需要将文本框值与数据库中的日期列进行比较,为此,我只使用了以下代码

public StudentAttendances(string date)
    {
        if (date != "")
        {
            DateTime date1 = Convert.ToDateTime(date);

            foreach (DataAccess.StudentAttendance studentAttendance in buDataEntities.StudentAttendances.Where(s => s.Date == date1))
            {
                this.Add(new StudentAttendance(studentAttendance.StudentId));
            }
        }
    }

例如,如果我在文本框中选择了一个日期(格式为2012年5月4日),当我将其与数据库进行比较时,它不会显示任何数据,但实际上有一些数据是关于这个日期的。

您的提问非常有限,但请尝试查看这个问题


您的要求非常有限,但请尝试了解这一点


您的代码正在比较日期和时间(小时、分钟等必须匹配)。试着像这样比较白天的部分:

buDataEntities.StudentAttendances.Where(s => s.Date.Subtract(date1).Days == 0)
我还认为您应该指定用户输入日期的格式。 2012年5月4日可能意味着4月4日或5月5日,具体取决于您的计算机区域设置。 下面是一个将美式格式的日期字符串转换为DateTime对象的示例(如下所示):

DateTime date1 = DateTime.Parse(date, new CultureInfo("en-US"));

希望有帮助

您的代码正在比较日期和时间(小时、分钟等必须匹配)。试着像这样比较白天的部分:

buDataEntities.StudentAttendances.Where(s => s.Date.Subtract(date1).Days == 0)
我还认为您应该指定用户输入日期的格式。 2012年5月4日可能意味着4月4日或5月5日,具体取决于您的计算机区域设置。 下面是一个将美式格式的日期字符串转换为DateTime对象的示例(如下所示):

DateTime date1 = DateTime.Parse(date, new CultureInfo("en-US"));

希望有帮助

请检查以下各项是否适用于您:

public StudentAttendances(string date)
{
    if (date != "")
    {
        // please see the change from your given code
        DateTime date1 = DateTime.ParseExact(date, "MM/dd/yyyy",
                                   System.Globalization.CultureInfo.InvariantCulture);

        foreach (DataAccess.StudentAttendance studentAttendance in buDataEntities.StudentAttendances.Where(s => s.Date == date1))
        {
            this.Add(new StudentAttendance(studentAttendance.StudentId));
        }
    }
}

请检查以下各项是否适用于您:

public StudentAttendances(string date)
{
    if (date != "")
    {
        // please see the change from your given code
        DateTime date1 = DateTime.ParseExact(date, "MM/dd/yyyy",
                                   System.Globalization.CultureInfo.InvariantCulture);

        foreach (DataAccess.StudentAttendance studentAttendance in buDataEntities.StudentAttendances.Where(s => s.Date == date1))
        {
            this.Add(new StudentAttendance(studentAttendance.StudentId));
        }
    }
}

您使用的是什么数据库和什么编程语言?非常不清楚的问题。您从数据库服务器的何处获取日期,并将其存储在哪种类型的变量中?比较日期的那一行是什么样子的?你能给我们看更多的代码吗?我修改了这个问题,请检查一下,并澄清我的疑问你使用的是什么数据库和什么编程语言?非常不清楚的问题。您从数据库服务器的何处获取日期,并将其存储在哪种类型的变量中?比较日期的那一行是什么样子的?你能给我们看更多的代码吗?我修改了问题,请检查并澄清我的疑问