Unity3D如何獲取時(shí)間戳或北京時(shí)間
本文實(shí)例為大家分享了Unity3D獲取時(shí)間戳或北京時(shí)間的具體代碼,供大家參考,具體內(nèi)容如下
單機(jī)游戲因?yàn)闆](méi)有服務(wù)器下發(fā)時(shí)間戳所以要自己獲取,當(dāng)然也可以用現(xiàn)成的時(shí)間API來(lái)獲取。
如果獲取本地時(shí)間,會(huì)導(dǎo)致玩家隨意修改日期來(lái)達(dá)到數(shù)據(jù)更改,如每日獎(jiǎng)品、每日獎(jiǎng)勵(lì)等等。
單機(jī)游戲本來(lái)就不要網(wǎng)絡(luò)的,可是獲取時(shí)間需要網(wǎng)絡(luò),這有點(diǎn)矛盾,有沒(méi)有誰(shuí)有更好的解決方案呢?
using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Text; using System.Text.RegularExpressions; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine( GetBeiJingTime()); Console.ReadKey(); } public static string GetBeiJingTime() { bool isget = false; string result = string.Empty; try { HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://open.baidu.com/special/time/");//百度北京時(shí)間地址 req.Headers.Add("content", "text/html; charset=gbk"); HttpWebResponse res = (HttpWebResponse)req.GetResponse(); Stream stream = res.GetResponseStream(); StreamReader sr = new StreamReader(stream, Encoding.GetEncoding("gbk")); string html = sr.ReadToEnd(); Func<string,string> f1 = (p) =>{ Regex reg = new Regex("(?<=baidu_time\\().*?(?=\\))"); return reg.Matches(p)[0].Value;}; string time = f1(html).Substring(0, 10);//這里是時(shí)間戳 stream.Dispose(); sr.Dispose(); DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(time + "0000000"); TimeSpan toNow = new TimeSpan(lTime); result = dtStart.Add(toNow).ToString("yyyyMMdd"); isget = true; } catch (Exception) { } finally { if (!isget)result = "19700101";//如果沒(méi)有網(wǎng)絡(luò)就返回默認(rèn) } return result; } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#實(shí)現(xiàn)將窗體固定在顯示器的左上角且不能移動(dòng)的方法
這篇文章主要介紹了C#實(shí)現(xiàn)將窗體固定在顯示器的左上角且不能移動(dòng)的方法,涉及C#窗體固定操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08c# socket心跳超時(shí)檢測(cè)的思路(適用于超大量TCP連接情況下)
這篇文章主要介紹了c# socket心跳超時(shí)檢測(cè)的思路(適用于超大量TCP連接情況下),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03C#實(shí)現(xiàn)通過(guò)winmm.dll控制聲音播放的方法
這篇文章主要介紹了C#實(shí)現(xiàn)通過(guò)winmm.dll控制聲音播放的方法,很實(shí)用的功能,需要的朋友可以參考下2014-08-08C#中的時(shí)間顯示格式(12小時(shí)制VS24小時(shí)制)
這篇文章主要介紹了C#中的時(shí)間顯示格式(12小時(shí)制VS24小時(shí)制),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01C#數(shù)據(jù)結(jié)構(gòu)之堆棧(Stack)實(shí)例詳解
這篇文章主要介紹了C#數(shù)據(jù)結(jié)構(gòu)之堆棧(Stack),結(jié)合實(shí)例形式較為詳細(xì)的分析了堆棧的原理與C#實(shí)現(xiàn)堆棧功能的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11支持windows與linux的php計(jì)劃任務(wù)的實(shí)現(xiàn)方法
這篇文章主要介紹了支持windows與linux的php計(jì)劃任務(wù)的實(shí)現(xiàn)方法,較為詳細(xì)的講述了php計(jì)劃任務(wù)中涉及到的php程序?qū)崿F(xiàn)方法、Windows計(jì)劃任務(wù)實(shí)現(xiàn)方法等,需要的朋友可以參考下2014-11-11C#實(shí)現(xiàn)判斷操作系統(tǒng)是否為Win8以上版本
這篇文章主要介紹了C#實(shí)現(xiàn)判斷操作系統(tǒng)是否為Win8以上版本,本文講解了利用C#獲取OS的版本號(hào)、利用反射獲取當(dāng)前正在運(yùn)行的程序的版本信息、 利用C#判斷當(dāng)前操作系統(tǒng)是否為Win8系統(tǒng)等內(nèi)容,需要的朋友可以參考下2015-06-06C#之WinForm WebBrowser實(shí)用技巧匯總
這篇文章主要介紹了C#之WinForm WebBrowser實(shí)用技巧匯總,包括常見(jiàn)的各種設(shè)置及信息獲取等,需要的朋友可以參考下2014-08-08