1

ユーザーが入力した日付を処理し、データベースの日付フィールドに保存するにはどうすればよいですか? 日付は、ユーザーが jquery datepicker を使用してテキスト フィールドに入力します。

ここに私が持っている特定のニーズがあります:
1. mm/dd/yy 文字列 (選択された jquery は任意の形式を生成できます) を、日付フィールドとしてデータベースに格納可能な形式に変換するにはどうすればよいですか。
2. 日付を取得して、「2009 年 8 月 11 日水曜日」などに変更するにはどうすればよいですか?

バックエンドにC#を使っていますが、VBコードも理解できるはずです。

ありがとう!

4

6 に答える 6

7
string dateString = "08/11/09";
DateTime yourDate;

if(DateTime.TryParse(dateString, out yourDate)) 
{
   // do something with yourDate
   string output = yourDate.ToString("D"); // sets output to: Tuesday, August 11, 2009
}
else 
{
   // invalid date entered
}

DateTimeフォーマット文字列のリストは次のとおりです: http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

于 2009-08-11T20:11:05.557 に答える
2

John Raschの解決策に同意します。多くの人が知らないのは、String.Format(...)メソッドを使用して日付 (およびその他のデータ型) をフォーマットできることです。日付には T メソッドを使用する方が明らかに便利です。これはoString()、日付がそのような機能を提供するためですが、他のデータ型では、オブジェクトのアドレスがToString().

したがって、DB またはどこかから DateTime オブジェクトとして日付を取得すると、次のことができます。

DateTime date = DateTime.Now; //normally would come from somewhere else

//Wednesday, Aug 11, 2009 <-- what we want to get displayed
string displayFormat ="dddd, MMM dd, yyyy";
string formattedDate = string.Format("{0:" + displayFormat + "}", date);

Response.Write(formattedDate);

これにより、要求したものが正確に印刷されます。さまざまなフォーマット文字列の説明については、こちらを参照してください。

于 2009-08-11T20:32:49.633 に答える
1

cDate(string) は文字列から実際の日付を返し、dateformat(string,option) はオプションの状態に従って書式設定された文字列を返します - longdateformat はあなたが探していると思うオプションの 1 つです。

于 2009-08-11T20:11:52.653 に答える
1

を使用DateTime.Parse(string)して文字列を に解析し、データベースにDateTimeとして保存できます。DateTime他の回答で提案されているように TryParse を使用して、提供された文字列をDateTime.

DateTime を特定の形式で返すには、DateTime で .ToString() を呼び出して形式を指定するか、定義済みの形式のいずれかを使用します。ToShortDateString()

于 2009-08-11T20:13:06.320 に答える
1

DateTime フィールドを解析した形式に関係なく

DateTime dt = DateTime.Now;//*example
//FormatString for "Wednesday, Aug 11, 2009" is *dddd,MMM dd,yyyy*
string formattedString = dt.ToString("dddd,MMM dd,yyyy");

この形式をグローバルに保持して使用できます

于 2009-08-11T20:32:56.560 に答える
1

以前の回答は、それが日付であることを確認します(ただし、try catchブロックを実行します)文字列が日付であることを確認したら、それをストアドプロシージャに渡すか、一重引用符で囲んで作成できますそれは挿入/更新ステートメントの一部です:

string yourdateString ="5-5-09";

update table set da='" + yourDateString + "' WHERE id=@id
于 2009-08-11T20:29:38.360 に答える