2017-01-15 8 views
0

私はいくつかの列を含むデータベースからのデータを持っています。そのうち1つはExpiryDateです。それはSAPの日時書式を持っている:MM/DD/YYYY NN:mm:ssのAMlinqでMM/dd/YYYY hh:mm:ss AMからYYYY-MM-dd datetime形式に変換する方法は?

enter image description here

iは、MM/DD/YYYY HHからそれを変換したい:MM:YYYY-MM-DDへのss AM。出来ますか?

deliveriesItemsbypaging.Convert(q => q.ExpiryDate.ToString("yyyy-MM-dd")).Tolist() <DeliveryItem>; 

linqを使用すると可能ですか?

+2

HTTP ://stackoverflow.com/questions/18567530/convert-string-to-datetime-value-in-linq – Valkyrie

+5

datetime列の場合、表示形式は格納されません。 –

+0

変換する必要はありません。データの表示形式を変更するだけです。どのようにDataTimeを表示していますか? – jdweng

答えて

1

私はいくつかの列を含むデータベースのデータを持っています。そのうち1つはExpiryDateです。 MM/DD/YYYY NN:MM:それはSAPの日時書式がある質問から私の理解あたりとしてSS AM

を、あなたはそれゆえ、あなたがC#のために利用可能なプロバイダを使用している必要があり、データストレージ用のSAPを使用していますSAPから接続してデータを取得します。今すぐ答えられる必要がある重要な点は次のとおりです。C#ので

  1. あなたは日時を格納DateTime typeまたは一部SAP DateTime typeを、持っていない、C#のDateTimeに変換する固有の能力で、私の仮定はそのC#の日時とあなたですそれは形式で表現することにしたい - それをどこでジュースをDateTime書式を取るコンストラクタがありませんことは明らかだろうとしてYYYY-MM-DD

は今、マイクロソフトhere

から入手可能な日付と時刻のソースコードを確認年、月、日付、および他の関連する値を知るために内部プロパティを埋めます。したがって、ほとんどの場合、表現中にフォーマット要件はありません。ToString methodをDateTimeオブジェクトにコールします。同じオブジェクトで適切なフォーマットを表現できます。利用可能なカスタム形式を理解するためにlinkの後に。

しかし、我々は変換しているときStringDateTimeには、Parseメソッドでは、カスタム/ローカル書式を適用するために使用することができるSystem.Globalization名前空間でDateTimeFormatInfoオブジェクトを取ることができIFormatProviderオブジェクトのオプションが、あります、ソースをチェックコードhereを使用すると、はるかに複雑な要件を達成するのに役立ちます。

フォーマットは表現目的のためであり、Uiの値を表示している間に行うことができ、Linqはそれとは関係ありません。あなたは直接の書式要件である、月の年と日付の小さなキャップ、大型株に注意してください

DateTime d = DateTime.Now; 
var dateValue = d.ToString("yyyy-MM-dd") 

(テストコード)のようなものを使用して、またはLINQのなしで、あなたのコード内のDateTime値を変換することができます正しい答え。

1

ExpiryDateはあなたが試すことができDateTimeフィールドがある場合

一覧newDateFormat = deliveriesItemsbypaging.Select(Q => q.ExpiryDate.ToString( "YYYY-MM-DD"))。ToListメソッド()