在C#中我們可以使用系統(tǒng)自帶類System.DateTme這了類來獲取當前的日期或時間。
獲取當前的日期
//1、獲取當前的日期:
DateTime.Now.ToString(); //2021/6/1 23:47:06
DateTime.Now.ToString("yy-MM-dd");//21-06-01
DateTime.Now.ToLocalTime(); //2021/6/1 23:50:12
DateTime.Now.ToLongDateString();//2021年6月1日
DateTime.Now.ToLongTimeString();//23:50:12
獲取當前年月日
獲取年:int year=DateTime.Now.Year;
獲取月:int month=DateTime.Now.Month;
獲取日:int day-DateTime.Now.Day;
獲取時:int houre=DateTime.Now.Hour;
獲取分:int minute=DateTime.Now.Minute;
獲取秒:int second= DateTime.Now.Second;
獲取當前的時間
DateTime.Now.ToLongTimeString();//0:05:53
DateTime.Now.ToShortTimeString();//0:05
DateTime.Now.ToString("hh:mm:ss");//12:05:53
DateTime.Now.TimeOfDay.ToString();//00:05:53.3871693
當前時間加減 獲取某個時間
//加減天數(shù)
DateTime.Now.ToString();//2021/6/2 0:11:18 今天
DateTime.Now.AddDays(-1).ToString();//2021/6/1 0:11:18 昨天
DateTime.Now.AddDays(1).ToString();//2021/6/3 0:11:18 明天
//年
DateTime.Now.AddYears(1).ToString();//2022/6/3 0:11:18 明年
//月
DateTime.Now.AddMonths(1).ToString();//2022/7/3 0:11:18
// 時分秒
DateTime.Now.AddHours(1).ToString();//2022/6/3 1:11:18
DateTime.Now.AddMinutes(1).ToString();//2022/6/3 0:12:18
DateTime.Now.AddSeconds(1).ToString();//2022/6/3 0:11:19
秒 級
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
毫秒 級
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000
時間戳的獲取和與時間的相互轉換
獲取當前時間轉換為時間戳
System.TimeSpan st = System.DateTime.UtcNow - new System.DateTime(1970, 1, 1, 0, 0, 0);//獲取時間戳
Debug.Log(Convert.ToInt64(st.TotalSeconds));//時間戳轉換Int64
把時間戳轉換為日期時間
System.DateTime startTime = System.TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));//獲取時間戳
System.DateTime dt = startTime.AddSeconds(1558340395);
string t = dt.ToString("yyyy/MM/dd HH:mm:ss");//轉化為日期時間
Debug.Log(t);
這里為什么要減去一個621355968000000000,是因為“時間戳是指格林威治時間1970年01月01日00時00分00秒起至當下的總秒數(shù)?!保ㄕ园俣劝倏疲┪也逻@里的這個數(shù)字就是1970.1.1之前的秒數(shù)了,所以要減去。
可前往下面的網(wǎng)址檢查獲取到的時間戳是不是對應當前的時間 https:///timestamp/ 輸入時間戳,選擇秒/毫秒/點擊轉換,即可檢驗
c#中有一個叫做TimeSpan的數(shù)據(jù)類型
TimeSpan(hour,minute,second);
TimeSpan timeSpan = new TimeSpan(13,44,22);
Debug.Log(timeSpan.ToString());
Debug.Log(timeSpan.Hours);
Debug.Log(timeSpan.Minutes);
Debug.Log(timeSpan.Seconds);
方法
Subtract:從中減去另一個TimeSpan值。
timeSpan = timeSpan .Subtract(new TimeSpan(0, 0, 1));//每隔一秒減去一秒
部分屬性 Add:與另一個TimeSpan值相加。 Days: 返回用天數(shù)計算的TimeSpan值。 Hours: 返回用小時計算的TimeSpan值 Milliseconds: 返回用毫秒計算的TimeSpan值。 Minutes: 返回用分鐘計算的TimeSpan值。 Seconds: 返回用秒計算的TimeSpan值。 Ticks: 返回TimeSpan值的tick數(shù)。 TotalDays: 返回TimeSpan值表示的天數(shù)。 TotalHours: 返回TimeSpan值表示的小時數(shù)。 TotalMilliseconds: 返回TimeSpan值表示的毫秒數(shù)。 TotalMinutes: 返回TimeSpan值表示的分鐘數(shù)。 TotalSeconds: 返回TimeSpan值表示的秒數(shù)
|