20171019
から19/10/2017
にデータを並べ替える方法を教えてもらえますか?VB.net並べ替えの文字列データ20171019から19/10/2017
20171019
は、SQLクエリから文字列として取得されます。データ型はnvarchar(255)
ですが、標準の日付形式で表示します。
文字列の各文字に何らかの形で位置(値)を割り当ててから並べ替えたり、VB内に書式設定ツールを組み込んでいますか?
このたびはお時間を頂き、誠にありがとうございます。
20171019
から19/10/2017
にデータを並べ替える方法を教えてもらえますか?VB.net並べ替えの文字列データ20171019から19/10/2017
20171019
は、SQLクエリから文字列として取得されます。データ型はnvarchar(255)
ですが、標準の日付形式で表示します。
文字列の各文字に何らかの形で位置(値)を割り当ててから並べ替えたり、VB内に書式設定ツールを組み込んでいますか?
このたびはお時間を頂き、誠にありがとうございます。
クライアント側では、文字列をDateTime
に解析する必要がある場合は、ToString(format)
を使用して特定の形式を適用できます。しかし重要な質問はなぜあなたがそれを必要としているのか、あなたはDateTime
をあなたのデータベースの文字列とするのですか?なぜそれをDateTime
またはDate
として保存しないのですか?
しかし、ここであなたが解析して変換する方法である:
Dim dt = DateTime.ParseExact("20171019", "yyyyMMdd", Nothing)
Dim result = dt.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture)
迅速な返信をありがとう。残念なことに、データベースはサードパーティのツールに由来しているので、私たちはその設計に悩まされているため、変更する必要があります。もう一度ありがとう、私はそれを行ってあげるよ。 –
あなたは正規表現でこれを行うことができます:
Dim dt as String = Text.RegularExpressions.Regex.Replace("20171019", "^(\d{4})(\d{2})(\d{2})", "$3/$2/$1")
あなたがデータベースから文字列として 'DateTime'を得るのはなぜ?なぜそれを 'DateTime'や' Date'として保存しないのですか? –