0

C# を使用した私のアプリケーションでは、要件関数の 1 つが特定のユーザー インターフェイス (Windows フォーム) にあり、ユーザーは開始時刻、終了時刻、および日付を入力します。次に、アプリケーションは適切な開始日時と終了日時を生成してデータベースに保存します。詳細/シナリオを以下に示します。

何か案が?前もって感謝します。

例 1:


入力日: 2013/03/15入力
開始時刻: 午後 11 時 45 分
入力終了時刻: 午前 1 時 10 分出力開始時刻: "2013

3 月 15 日 23:45:00"
出力終了-date-time: "03/16/2013 01:10:00" // 注: 出力の end-date-time は start-date-time の 1 日後です

例 2:


入力日: 2013 年 3 月 15 日
入力開始時刻: 午後 9 時 45 分
入力終了時刻: 午後 10 時 30 分出力開始時刻: "2013
年3 月 15 日21:45:00
"
出力終了-date-time: "03/15/2013 22:30:00" // 注: start-date-time と end-date-time は同じ日付です

例 3:


入力日: 2012/10/25
入力開始時刻: 午前 6:10
入力終了時刻: 午後 8:15 その後、出力開始時刻: " 10/25/2012
06:10:00"
出力終了-date-time: "10/25/2012 20:15:00" // 注: start-date-time と end-date-time は同じ日付です

例 4:


入力日: 07/12/2010入力
開始時刻: 6:10 AM
入力終了時刻: 4:25 AM その後、
出力開始時刻: "07/12/2010 06:10:00"
出力終了-date-time: "07/13/2010 04:25:00" // 注: 出力の end-date-time は start-date-time の 1 日後です

4

3 に答える 3

1
    string InputDate = "3/15/2013";
    string InputStartTime = "11:45 PM";
    string InputEndTime = "1:10 AM";
    DateTime StartTime, EndTime;
    StartTime = Convert.ToDateTime(InputDate + " " + InputStartTime);
    EndTime = Convert.ToDateTime(InputDate + " " + InputEndTime);
    if (EndTime < StartTime)
        EndTime.AddDays(1);
    string OutputStartTime = StartTime.ToString("MM/dd/yyyy HH:mm:ss");
    string OutputEndTime = EndTime.ToString("MM/dd/yyyy HH:mm:ss");
于 2013-03-27T14:08:14.607 に答える
0
var date = DateTime.ParseExact("03/15/2013 11:45 PM", "MM/dd/yyyy hh:mm tt", CultureInfo.InvariantCulture);

ビジネス ルールに基づいて、この関数に最初のパラメーターとして渡される文字列を作成するために必要なロジックを作成するのは、あなたに任せます。

于 2013-03-27T14:06:37.070 に答える
0

擬似コード:

  • D1入力日付と入力開始時刻を組み合わせて開始日を作成する
  • D2入力日付と入力終了時刻を組み合わせて終了日を作成する
  • D2それより前の場合はD1、1 日を追加しますD2
于 2013-03-27T14:13:26.700 に答える