私は日付のマスクされたテキストボックスがあります。パース時にマスクを削除するには?
_student.Student_birthDate = DateTime.ParseExact(txtDataNasc.Text.ToString(), "yyyy-MM-dd h:mm tt", CultureInfo.InvariantCulture);
しかし、それは有効な日時の文字列ではありません。私はそれが日時の値だ解析
<xctk:MaskedTextBox x:Name="txtDataNasc" Mask="##/##/####" HorizontalAlignment="Left" Height="27" TextWrapping="Wrap" VerticalAlignment="Top" Width="199" Margin="121,133,0,0" TextChanged="txtDataNasc_TextChanged"/>
そして、そのテキストボックスText_Changed
財産上を。私は試しました:
stg.Replace("/", "-").Replace("#", "");
しかし、それでもtextMaskを保持しています。パース時にマスクを削除するにはどうすればよいですか?
TextChanged
上のすべてのものは、次のようになります。
string stg = txtDataNasc.Text.ToString();
stg.Replace("/", "-").Replace("#", "");
stg = stg + " 00:00:00";
_student.Student_birthDate = DateTime.ParseExact(txtDataNasc.Text.ToString(), "yyyy-MM-dd h:mm tt", CultureInfo.InvariantCulture);
あなたの 'マスク 'とあなたのフォーマットは私が見る限りでは一致しません。代わりに、単に 'MM/dd/yyyy'や' dd/MM/yyyy'(どちらが正しいのか分かりません)を使わないのはなぜですか?あなたのMaskedTextBoxが**持っていない場合はなぜ 'h:mm tt'部分が必要なのですか?この 'stg'文字列はどこでも使用する必要はありません**。また、これらの 'Replace'メソッドは新しい文字列インスタンスを返します。文字列は不変なので、現在のインスタンスは変更されません。 –
'DateTime.ParseExact(txtDataNasc.Text、" MM/dd/yyyy "、CultureInfo.InvariantCulture)'または 'DateTime.ParseExact(txtDataNasc.Text、" dd/MM/yyyyy "、CultureInfo.InvariantCulture)' '## 'は日または月である)は、それを使用するのに十分だと思われる。 –