指定時間に5分を加算したい場合は、以下のコードを参考にしてください。分を現在の指定時間に追加する
string startTime = "1:00 AM";
string endTime = "0:05 AM";
TimeSpan duration = DateTime.Parse(endTime).Add(DateTime.Parse(startTime));
私は1:05になるために午前1:00までに5分を持っていたことができますどのようにエラーが出続けますか?
指定時間に5分を加算したい場合は、以下のコードを参考にしてください。分を現在の指定時間に追加する
string startTime = "1:00 AM";
string endTime = "0:05 AM";
TimeSpan duration = DateTime.Parse(endTime).Add(DateTime.Parse(startTime));
私は1:05になるために午前1:00までに5分を持っていたことができますどのようにエラーが出続けますか?
あなたがendTime
文字列を解析した後にのみMinute
プロパティを渡すし、このためにstartTime
の解析されDateTime
対象にAddMinutes
メソッドを使用する必要がありながら、あなたは、全体DateTime
オブジェクトを渡しています
DateTime updateTime = DateTime.Parse(startTime).AddMinutes(DateTime.Parse(endTime).Minute);
それは、 1:00 AMすなわち、元DateTime
対象に5分を追加DateTime
オブジェクトを返し、reusltは次のようになり1:05
作業を参照してください。DEMO Fiddle here
いいえ、いいえ、これは悪い考えです。このコードは、期間が1から59までの整数分でないものに変わるまで機能します。期間が30秒に変更されるか、1時間に変更されますか?その後、このコードは開始時刻に0分を追加します。 – Kevin
AddメソッドにはTimeSpanを取得するオーバーロードがあります。次のようにそれを使用してください:あなたは時間を追加することはできません
DateTime dt = DateTime.UtcNow; // this should be your value actually
DateTime newTime = dt.Add(TimeSpan.FromMinutes(5);
AddMinutesメソッドがより良いオプションです(@Ehsanによる答え) – Artak
、あなただけのスパンを追加することができます。ただし、TimeOfDay
プロパティを介したDateTimeのスパンを取得することができます:
string startTime = "1:00 AM";
string endTime = "0:05 AM";
DateTime duration = DateTime.Parse(startTime).Add(DateTime.Parse(endTime).TimeOfDay);
しかし、直接のtimeSpanを使用すると、(あなたはそれがスパンとない日時であるとして、AM
を削除する必要があります)よりお勧めです。
string startTime = "1:00 AM";
string endTime = "0:05";
DateTime duration = DateTime.Parse(startTime).Add(TimeSpan.Parse(endTime));
あなたは数分より何か他のものを追加するつもりは決してないだろうことがわかっている場合、私はこのような何かをしたい:
string startTime = "1:00 AM";
int minutes = 5;
DateTime duration = DateTime.Parse(startTime).AddMinutes(minutes);
あなたはDateTime hereについて詳しく知ることができます。
+1。オフセット、概念的にプログラムについて考える。あなたには、開始時間と終了時間はありません。あなたは開始時間と持続時間*を持っています。あなたが本当に望むのは、文字列として 'startTime'、整数として 'durationInMinutes'です。 – Kevin
質問にエラーメッセージを追加してください –