Unity&C# Time時間相關

來源:互聯網
上載者:User
1.Unity Time類

1/ Time.time 表示從遊戲開發到現在的時間,會隨著遊戲的暫停而停止計算。

2/ Time.timeSinceLevelLoad 表示從當前Scene開始到目前為止的時間,也會隨著暫停操作而停止。

3/ Time.deltaTime 表示從上一幀到當前幀時間,以秒為單位。

//計時器通過這個使用,update裡把Time.deltaTime累加起來,就是經過的時間

4/ Time.fixedTime表示以秒計遊戲開始的時間,固定時間以定期間隔更新(相當於fixedDeltaTime)直到達到time屬性。

5/ Time.fixedDeltaTime 表示以秒計間隔,在物理和其他固定幀率進行更新,在Edit->ProjectSettings->Time的Fixed Timestep可以自行設定。

6/ Time.SmoothDeltaTime 表示一個平穩的deltaTime,根據前
N幀的時間加權平均的值。

7/ Time.timeScale 時間縮放,預設值為1,若設定<1,表示時間減慢,若設定>1,表示時間加快,可以用來加速和減速遊戲,非常有用。

8/ Time.frameCount 總幀數

9/ Time.realtimeSinceStartup 表示自遊戲開始後的總時間,即使暫停也會不斷的增加。

10/ Time.captureFramerate 表示設定每秒的幀率,然後不考慮真即時間。

11/ Time.unscaledDeltaTime 不考慮timescale時候與deltaTime相同,若timescale被設定,則無效。

12/ Time.unscaledTime 不考慮timescale時候與time相同,若timescale被設定,則無效。

From: http://blog.csdn.net/liuyang_sy/article/details/46811125 2.C#-System.DateTime

日期時間相關處理:

0/ 建構函式:DateTime(Int32 年, Int32 月, Int32 日)DateTime(年,月,日,時,分,秒,(可再加毫秒)/國際標準時間 (UTC) 或本地時間)...1/ 屬性:DateTime dt = DateTime.Now;dt.ToString();// 1/22/2017 3:43:19 PM//擷取一個DateTime對象,該對象設定為此電腦上的當前日期和時間,表示為本地時間。[受時區影響;我們中國使用的是東八區的時間,所以和UTC大了8個小時]DateTime dt2 = DateTime.Today;dt2.ToString();//1/22/2017 12:00:00AM 當天日期,其時間組成部分設定為00:00:00。DateTime dt3 = DateTime.UtcNow ;dt3.ToString();//1/22/2017 7:43:19 AM 此電腦上的當前日期和時間,表示為協調通用時間 (UTC,0時區的時間)dt.Year.ToString();//2017dt.Date.ToString();// 1/22/2017 12:00:00 AM擷取此執行個體的日期部分;其日期與此執行個體相同,其時間值設定為午夜 12:00:00 (00:00:00)。dt.Day.ToString(); //22 擷取此執行個體所表示的日期為該月中的第幾天。dt.DayOfWeek.ToString();//Sunday 擷取此執行個體所表示的日期是星期幾。dt.DayOfYear.ToString();//22 擷取此執行個體所表示的日期是該年中的第幾天。dt.Hour.ToString();//14 擷取此執行個體所表示日期的小時部分。(24h制)dt.Kind.ToString();//Local 返回基於本地時間Local、國際標準時間 (UTC),還是兩者皆否dt.Millisecond.ToString();//630 擷取此執行個體所表示日期的毫秒部分。dt.Minute.ToString();//35 擷取此執行個體所表示日期的分鐘部分dt.Month.ToString();//1 擷取此執行個體所表示日期的月部分dt.Second.ToString();//28 擷取此執行個體所表示日期的秒部分dt.Ticks.ToString();//632667942284412864擷取表示此執行個體的日期和時間的計時周期數。//每個計時周期表示一百納秒,即一千萬分之一秒。 1 毫秒內有 10,000 個計時周期。此屬性的值表示自 0001 年 1 月 1 日午夜 12:00:00(表示 DateTime.MinValue)以來經過的以 100 納秒為間隔的間隔數。 它不包括歸屬於閏秒的刻度數。dt.TimeOfDay.ToString();//15:20:43.1911987擷取此執行個體的當天的時間。----------2/ 方法:dt.ToFileTime().ToString();//131295394816200492將當前 DateTime 對象的值轉換為Windows檔案時間。dt.ToFileTimeUtc().ToString();//131295683210873066將當前 DateTime 對象的值轉換為 Windows 檔案時間dt.ToLocalTime().ToString();// 1/22/2017 2:19:17 PM將當前 DateTime 對象的值轉換為本地時間dt.ToLongDateString().ToString();//Sunday,January 22,2017轉為長日期文字表示形式dt.ToLongTimeString().ToString();//2:20:33 PM轉為其等效的長時間字串表示形式。dt.ToOADate().ToString();//42757.5978641782轉換為等效的OLE自動化日期dt.ToShortDateString().ToString();// 1/22/2017dt.ToShortTimeString().ToString();//2:21 PM dt.ToUniversalTime().ToString();//1/22/2017 6:22:10AM 轉換為國際標準時間(UTCdt.AddYears(1).ToString();//1/22/2018 3:51:20 PM增加/減少年(參數可為負)dt.AddDays(1.1).ToString();//1/23/2017 6:16:36 PMdt.AddHours(1.1).ToString();//2005-11-5 14:53:04dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04dt.AddMonths(1).ToString();//2005-12-5 13:47:04dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10dt.AddTicks(1000).ToString();//2005-11-5 13:47:04 計時周期數dt.CompareTo(dt).ToString();//0 兩時間比較:早於<0,同時==0,遲於>0[static&&not static]dt.Add(?).ToString();//問號為一個時間段TimeSpandt.Equals("2005-11-6 16:11:04").ToString();//False [static&&not static]返回是否具有相同日期和時間dt.Equals(dt).ToString();//Truedt.GetHashCode().ToString();//1474088234dt.GetType().ToString();//System.DateTimedt.GetTypeCode().ToString();//DateTimedt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25dt.GetDateTimeFormats('t')[0].ToString();//14:06dt.GetDateTimeFormats('y')[0].ToString();//2005年11月dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日dt.GetDateTimeFormats('M')[0].ToString();//11月5日dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT註:string格式字串:string.Format("{0:d}",dt);//2005-11-5string.Format("{0:D}",dt);//2005年11月5日string.Format("{0:f}",dt);//2005年11月5日 14:23string.Format("{0:F}",dt);//2005年11月5日 14:23:23string.Format("{0:g}",dt);//2005-11-5 14:23string.Format("{0:G}",dt);//2005-11-5 14:23:23string.Format("{0:M}",dt);//11月5日string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMTstring.Format("{0:s}",dt);//2005-11-05T14:23:23string.Format("{0:t}",dt);//14:23string.Format("{0:T}",dt);//14:23:23string.Format("{0:u}",dt);//2005-11-05 14:23:23Zstring.Format("{0:U}",dt);//2005年11月5日 6:23:23string.Format("{0:Y}",dt);//2005年11月string.Format("{0}",dt);//2005-11-5 14:23:23string.Format("{0:yyyyMMddHHmmssffff}",dt);//201701221603353262//DateTime.Now.ToString(IFormatProvider provider)用法://注意:HH為24小時制hh為12小時制,年月日時分秒yyyy MM dd HH mm ss//DateTime.Now.ToString("yyyy年MM月dd日"); yyyy年MM月dd日//DateTime.Now.ToString("HH:mm"); 19:48-----------------------------------------------計算某年某月的天數int days = DateTime.DaysInMonth(2007, 8);days = 31;-----------------------------------------------給日期增加一天、減少一天DateTime dt =DateTime.Now;dt.AddDays(1); //增加一天dt.AddDays(-1);//減少一天其它年份方法類似...
3.時間戳記

時間戳記(timestamp),通常是一個字元序列,唯一地標識某一刻的時間。
時間戳記是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總毫秒數。

1/ C#產生一個時間戳記:(這裡以秒為單位)

private static string GetTimeStamp(){    TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);      return Convert.ToInt64(ts.TotalSeconds).ToString();  }

2/ C#時間戳記轉換為格式時間:(這裡以秒為單位)

private DateTime GetTime(string timeStamp)  {    DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));  //時間戳記起始點轉為目前時區  long lTime = long.Parse(timeStamp + "0000000");//轉為long類型    TimeSpan toNow = new TimeSpan(lTime); //時間間隔  return dtStart.Add(toNow); //加上時間間隔得到目標時間}  

From: http://blog.csdn.net/fengqingtao2008/article/details/45271915
備:lua時間戳記相關,參見另一片文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.