C# SQL和C兼容的日期格式

C# SQL和C兼容的日期格式,c#,sql,date-format,C#,Sql,Date Format,我有一个Web表单,它接受“DD/MM/YYYY”中的日期。我想以“SQL接受日期格式”将其存储在我的MS SQL数据库中。 我还有另一个页面,它在另一个Web表单中显示我的表格摘要,我不想在“YYYY/MM/DD”中显示日期。有人能在数据库中显示一些指针吗:不要将日期存储为字符串。将它们存储为datetime,或date,或datetime2 在应用程序的SQL代码中:不要以字符串形式传递日期。将它们作为DateTime参数传递 在应用程序的主代码逻辑中:不要将日期作为字符串传递。将它们作为日

我有一个Web表单,它接受
“DD/MM/YYYY”
中的日期。我想以“SQL接受日期格式”将其存储在我的MS SQL数据库中。
我还有另一个页面,它在另一个Web表单中显示我的表格摘要,我不想在
“YYYY/MM/DD”
中显示日期。有人能在数据库中显示一些指针吗:不要将日期存储为字符串。将它们存储为
datetime
,或
date
,或
datetime2

在应用程序的SQL代码中:不要以字符串形式传递日期。将它们作为
DateTime
参数传递

在应用程序的主代码逻辑中:不要将日期作为字符串传递。将它们作为日期时间传递

所以,;在应用程序的UI级别代码中:

  • 获取输入时,使用
    DateTime.Parse
    (etc)将用户的输入转换为
    DateTime
    ,然后再将其传递下去;如果这意味着
    ParseExact
    /
    TryParseExact
    指定
    “dd/MM/yyyy”
    ,则可以
  • 显示数据库中的值时,请使用类型的格式化功能以您选择的任何方式显示它

在数据库中:不要将日期存储为字符串。将它们存储为
datetime
,或
date
,或
datetime2

在应用程序的SQL代码中:不要以字符串形式传递日期。将它们作为
DateTime
参数传递

在应用程序的主代码逻辑中:不要将日期作为字符串传递。将它们作为日期时间传递

所以,;在应用程序的UI级别代码中:

  • 获取输入时,使用
    DateTime.Parse
    (etc)将用户的输入转换为
    DateTime
    ,然后再将其传递下去;如果这意味着
    ParseExact
    /
    TryParseExact
    指定
    “dd/MM/yyyy”
    ,则可以
  • 显示数据库中的值时,请使用类型的格式化功能以您选择的任何方式显示它

DateTime
对象没有格式。您应该将日期保存为
DateTime
对象,然后在显示时使用-format。和@dragandrop的可能重复项第一个重复项是错误的,因为它显示了如何使用“正确的”字符串格式传递值,而正确的方法是根本不格式化并传递原始值。另一个更好。@LasseVågsætherKarlsen,在谷歌的5个首页中,我发现没有任何答案能够以足够的细节显示这两种方法是完美的欺骗目标。虽然我更喜欢使用Params的Op,但我将Op的“日期格式”作为
DateTime
的字符串格式。因为这是我对这个问题的直接解释,所以我选择了这个。
DateTime
对象没有格式。您应该将日期保存为
DateTime
对象,然后在显示时使用-format。和@dragandrop的可能重复项第一个重复项是错误的,因为它显示了如何使用“正确的”字符串格式传递值,而正确的方法是根本不格式化并传递原始值。另一个更好。@LasseVågsætherKarlsen,在谷歌的5个首页中,我发现没有任何答案能够以足够的细节显示这两种方法是完美的欺骗目标。虽然我更喜欢使用Params的Op,但我将Op的“日期格式”作为
DateTime
的字符串格式。因为这是我对这个问题的直接解释,所以我选择了这个。如果你的应用程序是“跨技术的”,那么你可以将日期转换为历元时间戳,并在系统的边缘使用它。@Fka真正的问题是:什么是历元和尺度?unix时间只是许多选项中的一个;但是,是的,任何不是字符串的东西都是goodMarc——我假设我们谈论的是日期,而不是日期时间或低于天的任何东西。你能提供其他选择的例子吗?@Fka-sure;自1970年以来,你可以说几秒钟或几毫秒(甚至是整整几天),你可以说“普通时代”(即BCE/CE划分)的滴答声;你可以谈论“自2015年起的几天”(例如,如果你的公司成立于2015年),或者“自2015年起的几小时”——大量的选择——完全是任意的,只要双方同意,如果你的应用程序是“跨技术”的,那么这意味着什么,然后,您可以将日期转换为历元时间戳,并在系统边缘使用它。@Fka真正的问题是:什么历元和比例?unix时间只是许多选项中的一个;但是,是的,任何不是字符串的东西都是goodMarc——我假设我们谈论的是日期,而不是日期时间或低于天的任何东西。你能提供其他选择的例子吗?@Fka-sure;自1970年以来,你可以说几秒钟或几毫秒(甚至是整整几天),你可以说“普通时代”(即BCE/CE划分)的滴答声;你可以谈论“2015年后的几天”(例如,如果你的公司成立于2015年),或者“2015年后的几小时”——大量的选择——完全是任意的,只要双方都同意这意味着什么