C# 如何通过linq将MM/dd/YYYY hh:MM:ss AM转换为YYYY MM dd日期时间格式?

C# 如何通过linq将MM/dd/YYYY hh:MM:ss AM转换为YYYY MM dd日期时间格式?,c#,sql-server,linq,date,datetime,C#,Sql Server,Linq,Date,Datetime,我有一个数据库中的数据,其中包括一些列。其中一种是ExpiryDate。它具有SAP日期时间格式:MM/dd/YYYY nn:MM:ss AM 我想把它从MM/dd/YYYY hh:MM:ss AM转换成YYYY-MM-dd。可能吗 deliveriesItemsbypaging.Convert(q => q.ExpiryDate.ToString("yyyy-MM-dd")).Tolist() <DeliveryItem>; deliveriesitembypage

我有一个数据库中的数据,其中包括一些列。其中一种是ExpiryDate。它具有SAP日期时间格式:MM/dd/YYYY nn:MM:ss AM

我想把它从MM/dd/YYYY hh:MM:ss AM转换成YYYY-MM-dd。可能吗

   deliveriesItemsbypaging.Convert(q => q.ExpiryDate.ToString("yyyy-MM-dd")).Tolist() <DeliveryItem>;
deliveriesitembypage.Convert(q=>q.expireydate.ToString(“yyyy-MM-dd”)).Tolist();
可以使用linq吗

我有一个数据库中的数据,其中包括一些列。其中一种是ExpiryDate。它具有SAP日期时间格式:MM/dd/YYYY nn:MM:ss AM

根据我对问题的理解,您正在使用SAP进行数据存储,因此您必须使用SAP提供的C#提供商来连接和获取数据。现在需要回答的重要一点是:

  • 在C#DateTime中,您是否有一个
    DateTime类型
    或一些
    SAP DateTime类型
    ,它存储DateTime,并具有转换为C#DateTime的固有能力,我的假设是它是C#DateTime,您希望它以格式表示-
    YYYY-MM-DD
  • 现在查看Microsoft提供的DateTime源代码

    很明显,没有构造函数只在填充内部属性的任何地方使用DateTime格式,以了解年份、月份和日期以及其他相关值,因此没有格式要求,主要是在表示过程中,我们对DateTime对象调用
    ToString方法
    ,如果可以使同一对象表示适当的格式,请检查以下内容以了解可用的自定义格式

    但是,当我们将
    字符串
    转换为
    日期时间
    时,在Parse method中,有一个
    IFormatProvider
    对象的选项,它可以在
    系统中获取
    日期时间格式信息
    对象。全球化
    命名空间可用于应用自定义/本地格式,检查源代码,它可以帮助实现更复杂的需求

    格式化是为了表示的目的,可以在Ui中显示值时进行,Linq与此无关。您可以使用(测试代码)之类的方法,在有Linq或没有Linq的情况下直接转换代码中的DateTime值

    请注意年份和日期的小写字母和月份的大写字母,这是正确答案的格式要求

    我有一个数据库中的数据,其中包括一些列。其中一种是ExpiryDate。它具有SAP日期时间格式:MM/dd/YYYY nn:MM:ss AM

    根据我对问题的理解,您正在使用SAP进行数据存储,因此您必须使用SAP提供的C#提供商来连接和获取数据。现在需要回答的重要一点是:

  • 在C#DateTime中,您是否有一个
    DateTime类型
    或一些
    SAP DateTime类型
    ,它存储DateTime,并具有转换为C#DateTime的固有能力,我的假设是它是C#DateTime,您希望它以格式表示-
    YYYY-MM-DD
  • 现在查看Microsoft提供的DateTime源代码

    很明显,没有构造函数只在填充内部属性的任何地方使用DateTime格式,以了解年份、月份和日期以及其他相关值,因此没有格式要求,主要是在表示过程中,我们对DateTime对象调用
    ToString方法
    ,如果可以使同一对象表示适当的格式,请检查以下内容以了解可用的自定义格式

    但是,当我们将
    字符串
    转换为
    日期时间
    时,在Parse method中,有一个
    IFormatProvider
    对象的选项,它可以在
    系统中获取
    日期时间格式信息
    对象。全球化
    命名空间可用于应用自定义/本地格式,检查源代码,它可以帮助实现更复杂的需求

    格式化是为了表示的目的,可以在Ui中显示值时进行,Linq与此无关。您可以使用(测试代码)之类的方法,在有Linq或没有Linq的情况下直接转换代码中的DateTime值


    请注意年份和日期的小写字母和月份的大写字母,这是正确答案的格式要求。

    如果ExpiryDate是DateTime字段,您可以尝试


    列出newDateFormat=deliveriesItemsbypaging。选择(q=>q.ExpiryDate.ToString(“yyyy-MM-dd”)).Tolist()

    如果ExpiryDate是日期时间字段,您可以尝试


    List newDateFormat=deliveriesitembypage.Select(q=>q.expireydate.ToString(“yyyy-MM-dd”)).Tolist()

    如果是日期时间列,则不存储显示格式。无需转换。只需更改数据显示的格式。如何显示数据时间。此代码无效。var query=deliveriesitembypage.Select(tb=>tb.ExpiryDate).AsEnumerable()//在本地执行其余处理。Select(x=>DateTime.ParseExact(x,“yyyy-MM-dd”,CultureInfo.InvariantCulture));您正在使用“数据集vizualuser”查看日期。它决定日期的格式。如果您不喜欢它,请将其转换为字符串并格式化。如果它是datetime列,则不存储显示格式。您不需要转换。只需更改数据显示的格式。如何显示数据时间。此代码无效。var query=deliveriesitembypage.Select(tb=>tb.ExpiryDate).AsEnumerable()//在本地执行其余处理。Select(x=>DateTime.ParseExact(x,“yyyy-MM-dd”,CultureInfo.InvariantCulture));你在使用“数据”
    DateTime d = DateTime.Now;  
    var dateValue = d.ToString("yyyy-MM-dd")