2011-12-05 12 views
1

現在の時刻を取得して値に設定する方法があるかどうかは不思議でした。現在の時刻を値に設定する方法

もし12:06 AMなら、私はその時間を得てcurrentTimeに設定したいと思います。

float currentTime = 0; 
currentTime = 12.06; 
+1

なぜそれがそれほど難しいのですか? DateTimeクラスについてGoogleで検索しましたか? – FosterZ

+0

http:// stackoverflow。com/questions/414733/c-how-would-the-get-the-a-string-into-a-string – CouncilScribe

+1

時刻が12:06の場合、currentTimeを「12.06」のように表示してもよろしいですか?ifあなたは何時間もかかるでしょう12.1 – Ali

答えて

3

他の人が述べたように、DateTimeクラスはこれのために理想的である、と2日付/時刻の差をうまくする:

DateTime end = DateTime.Now; 
DateTime start = new DateTime(2011, 12, 5, 12, 6,0); 

double hours = (end - start).TotalHours; 

のDateTimeの減算が、そのことができますTimeSpanオブジェクトに結果オブジェクトあなたは2回の違いを持っ​​ているしたい場合は時間/分など

2

は、これはあなたが探しているものですか?

DateTime currentTime; 

currentTime = DateTime.Now; 
+0

似たようなものです。私はちょうど誰かが時計を入れて時計を外している時を取ることができるようにしたい。その後、これらの2回を減算し、時間を稼ぐ。しかし、私はどのように文字列を引くのですか? – Claud

+0

@ClaudiuBadauでは、文字列を引くことはありません。 'DateTime'オブジェクトを減算します。また、あなたの質問には何も言及していません。 – Amy

+0

@ClaudiuBadau、はい、Inuyashaの言及としてDateTimeクラスを使用します。 http://msdn.microsoft.com/en-us/library/system.datetime.aspx –

3

トライDateTimeクラス

まあ
DateTime dt = DateTime.Now; 
2

floatとしてあなたが本当に何それを、次にしようとした場合:

var currentDate = DateTime.Now; 
float currentTime = float.Parse((currentDate.Hour > 12 ? currentDate.Hour -12 : 
currentDate.Hour) + "." + currentDate.Minute); 

私は山車と、日付や時間を比較することをお勧めしません。より良いオプションは、タイムパンを使用することです。

1

を見るために使用し、その後、次の操作を行います。

DateTime dateOne = DateTime.Parse(enteredTime); 
DateTime dateTwo = DateTime.Now; 

TimeSpan difference = dateOne - dateTwo; 
2

は山車やstrinを使用しないでくださいgs。 DateTimeを使用してあらゆる種類のクールなことができます。

var clockIn = new DateTime(2011,12,4,9,0,0); // December 4th, 9 AM 
var clockOut = new DateTime(2011,12,4,17,0,0); // December 4th, 5 PM 

var duration = clockOut - clockIn;    // TimeSpan 

Console.Write(duration.TotalHours);   // 8 
2

少数の人々がどのように言及しているが、「より良い」勧告としてあなたが

DateTime currentTime = DateTime.UtcNow 

そうでない場合は、あなたが持って使用する必要があります。ここでは

は、誰かが働いたことを時間を取得したい方法です当時のタイミングコードが実行されている場合は、クロックが戻ったときに問題が発生します。 (それはUTCに「午前1時」を変換することであるよりも、プラス現地時間にUTC時刻を変更することがはるかに簡単です(クロックが戻ったときにそれらの2があるだろうと)

+2

1+その古い栗UtcNow。 – Nickz

+1

@Nickそれについて教えてください、私は以前、時計が戻った日のログ記録は役に立たず、毎年、UtcNowについて私の古い同僚と話しました。 – Skuld

+1

あなたが忘れてしまった/ UtcNowを使っていない時は間違いない。 – Nickz

2

次のことを試してみてください。

DateTime StartTime=StartTime value; 
DateTime CurrentTime=DateTime.Now; 
TimeSpan dt = CurrentTime.Subtract(StartTime); 

dtでは、作業期間を取得します。

2

あなたは時間関連の値のために、あなたのような必要な値を取得するための柔軟性を使用することができますTimespanインスタンスを使用する必要があります

TimeSpan ts = DateTime.Now.TimeOfDay; 
ts.ToString("hh:mm") // this could be what you are looking for 

ts.TotalHoursを使用すると分数時間(doubleなど)を使用できます。それ以外の場合はts.Hours..という特殊な文字列を使用すると便利です。

関連する問題