DatePicker のデフォルトの日付形式は「yyyy-mm-dd」ですが、「dd-mm-yyyy」が必要です。この1つの解決策は私にはうまくいきません。
3 に答える
これはかなり古い質問です (「回答済み」と誤ってマークされています)。WPF DatePicker コントロールに特定の日付形式を使用する必要があるが、そのソース コードを公開したくない場合 (実際にはダウンロード可能です)、いつでも UI 全体の DateFormat を指定できます。 、または DatePicker コントロールごとに設定します。
私のアプリでは、Application_Startup イベントで次を使用しました。
Private Sub Application_Startup(ByVal sender As Object, ByVal e As System.Windows.StartupEventArgs) Handles MyBase.Startup
' other application initialization code here
Dim culInfo As Globalization.CultureInfo = New System.Globalization.CultureInfo("en-us")
Dim dtinfo As Globalization.DateTimeFormatInfo = New System.Globalization.DateTimeFormatInfo() With {
.ShortDatePattern = "dd-MMM-yyyy",
.ShortTimePattern = "hh:mm:ss tt",
.TimeSeparator = ":",
.MonthNames = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.MonthNames(),
.AbbreviatedMonthNames = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.AbbreviatedMonthNames(),
.DateSeparator = "-"}
culInfo.DateTimeFormat = dtinfo
System.Threading.Thread.CurrentThread.CurrentCulture = culInfo
これにより、アプリのどこでも short-date-format の形式が設定されることに注意してください (これは、日付ピッカーのすべてのインスタンスにカルチャを適用して適用するのではなく、私が望んでいたことです。私は上記のベースを思いつきました別の StackOverflow の投稿で; それがどこにあったか正確には覚えていません (または、著者の功績を認めます) が、とにかく、これがお役に立てば幸いです!
カーク
日付にその形式を与えたい場合は、次のようにする必要があります。
DatePicker datetimepicker;
datetimepicker.SelectedDate.Value.ToString("yyyy-MM-dd");
datetimepicker.SelectedDate.Value
ですDateTime Object
ので、好きなように操作できます。
日付はCultureInfo.CurrentCulture
、ユーザーがコントロール パネルで選択した Windows の地域設定を使用して表示され、変更できないようです。ただし、これはユーザーが好む日付/時刻設定であるため、実際には問題になりません。