"0:00 am"のような時間を私に返すtimePickerがあります。string.Replace(); 2つの場合?
string StartTime = _pickerStarts.Text;
string StartTime_int = string.Empty;
int _starts = 0;
for (int i = 0; i < StartTime.Length; i++)
{
if (Char.IsDigit(StartTime[i]))
StartTime_int += StartTime[i];
}
if (StartTime_int.Length > 0)
_starts = int.Parse(StartTime_int);
string EndsTime = _pickerEnds.Text;
string EndsTime_int = string.Empty;
int _ends = 0;
for (int i = 0; i < EndsTime.Length; i++)
{
if (Char.IsDigit(EndsTime[i]))
EndsTime_int += EndsTime[i];
}
if (EndsTime_int.Length > 0)
_ends = int.Parse(EndsTime_int);
// this return method is returning with the 00 on 4:00AM (example). CHANGE IT.
return _ends - _starts;
:しかし、私は、それはTimePickerの番号のみを取得するには、2 ...
を1時間を経過した場合、私はこれをしなかった終了時刻から開始時刻をサブに私のアプリで必要とチェック
しかし、あなたはおそらく午前9時から、代わりに例えば、返すので、9を推測できるように、それは900を返し、私は時の時間のためにこれをやった:
string StarTime_Formated = StartTime.Replace(":00", "");
そして、私はこれを行う必要があるだろう30時間。
string StarTime_Formated = StartTime.Replace(":00", ",3");
しかし、最初に文字列の内容を確認してからフォーマットする必要があります。
string StarTime_Formated = StartTime.Replace(":00", ",3" && ":00", "");
EDIT:以下のコメントを受けて:まあ、コンポーネント私は文字列を返しますを使用しています。この(擬似コード)を行うための方法はあります。これは、クラス時間のコントロールです。 1つのクラスは週に2回、1時間に1時間、または1週間に2時間、各クラスにすることができます。
if(_numDuration.Value == 2 && ClassDuration() == 2)
ClassDuration()
は、この記事の最初のコードであることと_numDuration
1時間または2時間のクラスを選択するIntegerUpDown
いる:私はこれを行う場合。
メソッドは、たとえば "4:00 pm"と "6:00 pm"、600-400のように戻り、それは2よりも高いです。代わりに2を返す必要があります。私が言ったように、私は、それは本当に私のアプリはありませんが、二つの異なる.Replace("", "");
を行い、それぞれのケースを確認し、私はできれば私はちょうどstring StarTime_Formated = StartTime.Replace(":00", ",3" && ":00", "");
私は日時を使用したいことができない場合、私は思ったんだけど、しかし、あなたは見ることができますそして...命令。それは吸う。
私はそれを行うことができますか、または私はちょうど2つを分離して.Replace()
に分けて、その場合を確認する必要がありますか?
ちょうど '場合と間違って何これは(あなたがフォーマットを調整する必要があるかもしれませんが、これは動作するはずです)試してみてください((endTimeは - のstartTime).TotalHours> 1)'など? – itsme86
@ itsme86私は問題がどちらも文字列であると信じています –
何?? DateTimePickerにはValueプロパティがあります。これはDateTimeで、DateTimeにはMinute、Hour、Secondsの各プロパティがあります。何も解析する必要はありません – Steve