2011-12-05 20 views
1

我只是想知道是否有辦法獲取當前時間並將其設置爲值。如何將當前時間設置爲值

如果其上午12:06 ..我想獲得時間並將其設置爲currentTime。

float currentTime = 0; 
currentTime = 12.06; 
+1

爲什麼你覺得這麼難?你在Google上搜索過關於DateTime類嗎? – FosterZ

+0

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

+1

如果時間是12:06,你確定要將currentTime顯示爲「12.06」if 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; 

日期時間的減​​法對象的時間跨度對象的結果,你可以用看小時/分鐘等

2

這是你在找什麼?

DateTime currentTime; 

currentTime = DateTime.Now; 
+0

類似的東西。我只是想能夠花時間在有人進入時鐘和輸出時鐘。然後減去那兩次,得到工作時間。但是,我如何減去字符串? – Claud

+0

@ClaudiuBadau,你不會減去字符串。你會減去'DateTime'對象。另外,你在你的問題中沒有提到這一點。 – Amy

+0

@ClaudiuBadau,可以使用DateTime類作爲犬夜叉提及。 http://msdn.microsoft.com/en-us/library/system.datetime.aspx –

3

試DateTime類

DateTime dt = DateTime.Now; 
2

那麼,如果你真的是它作爲一個浮動然後嘗試:

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

不要使用浮筒或〜應變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時間爲本地時間比它是一個「上午01點」轉換爲UTC(因爲會有他們兩個當時鍾回去)

+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 .. ts.Minutes玩耍,它可以證明是有用的。

相關問題