1. 程式人生 > >Unity3d 獲取時間戳或獲取北京時間

Unity3d 獲取時間戳或獲取北京時間

單機遊戲因為沒有伺服器下發時間戳所以要自己獲取,當然也可以用現成的時間API來獲取。

如果獲取本地時間,會導致玩家隨意修改日期來達到資料更改,如每日獎品、每日獎勵等等。

單機遊戲本來就不要網路的,可是獲取時間需要網路,這有點矛盾,有沒有誰有更好的解決方案呢?


<span style="font-family:KaiTi_GB2312;font-size:14px;">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/");//百度北京時間地址
                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);//這裡是時間戳
                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";//如果沒有網路就返回預設
            }
            return result;
        }
    }

}</span>


相關推薦

Unity3d 獲取時間獲取北京時間

單機遊戲因為沒有伺服器下發時間戳所以要自己獲取,當然也可以用現成的時間API來獲取。 如果獲取本地時間,會導致玩家隨意修改日期來達到資料更改,如每日獎品、每日獎勵等等。 單機遊戲本來就不要網路的,可是獲取時間需要網路,這有點矛盾,有沒有誰有更好的解決方案呢? <

excel 時間轉化為北京時間

fault com 單元格 targe 好的 OS item body 公式 單擊要獲得北京時間的那一列,右鍵,選擇【設置單元格格式】,在彈出的窗口中,左側選擇 【日期】,右側選擇你想要的時間格式,點擊確定。 選中其中一個單元格,輸入公式

excel怎麼樣批量將unix時間轉化為北京時間

1:單擊要獲得北京時間的那一列,右鍵,選擇【設定單元格格式】,在彈出的視窗中,左側選擇 【日期】,右側選擇你想要的時間格式,點選確定。   2:選中其中一個單元格,輸入公式=(A2+8*3600)/86400+70*365+19其中,A2是要轉化的時間戳的單元格。輸入完公式,

Unix時間(Unix timestamp) → 北京時間相互轉換

在分散式系統中經常有linux時間戳作為標記,linux時間與北京時間相互轉換變得非常重要,可以快速的定位時間和問題。 關於時間格式的解釋 UTC  (Universal Time Coordinated,UTC)世界協調時間 CST  (China Standar

JavaScript 時間與Unix時間互相轉換,指定時間轉換獲取當前時間

工作上用到這個還挺多的,做個簡單的隨筆,以後查詢的時候比較方便: 一般JS獲取的時間戳預設是13位數字,在個人的工作中,PHP後臺只需要精確到秒就行,看各位親的需要了, 程式碼註釋裡儘量寫的比較清楚了 <( ̄︶ ̄)↗[GO!] <!DO

java 時間獲取方式

ava time title 設置 rgs lan 處理 pan sys 獲取當前時間戳 //方法 一 System.currentTimeMillis(); //方法 二 Calendar.getInstance().getTimeInMillis(); //方法 三

python 獲取整點時間,半整點時間 ,同時將時間轉換成 日期時間

%s bsp ray mktime timestamp 技術分享 取整 amp style import time, datetime def gettime(): for x in range(24): a = datetime.

python字串'2018-11-14 00:00:00'轉時間,並獲取下個月同一時間

需求,在資料庫篩選從2018-11-14 00:00:00-2018-12-14 00:00:00一個月的資料 str_time ='2018-12-14 00:00:00' start_date = datetime.datetime.strptime(str_time, "%Y-%m

JS中使用時間獲取當前日期,計算前一週的日期~

今天專案中用到了一點 隨便記錄一下 function timestampToTime(timestamp) { var date = new Date(timestamp * 1000);//時間戳為10位需*1000,時間戳為13位的話不需乘1000 var Y =

時間獲取時間資訊

String date = DateUtils.getToStringShort(articleInfoWebVO.getCreatetime()); //將引數分割 從時間戳裡獲取時間資訊 String[] param = date.split("-"); articleInfoWebVO.set

Python獲取秒級時間與毫秒級時間

1、獲取秒級時間戳與毫秒級時間戳 import time import datetime t = time.time() print (t) #原始時間資料 print (int(t))

PHP--date轉成時間,time()獲取的…

PHP--date轉成時間戳,time()獲取的是秒數  time()獲取的是秒數  date("Y-m-d H:i:s");  //如果存成datetime型在MYSQL中 必須用這種格式 實現功能:獲取某個日期的時間戳,或獲取某個時間的時間戳。strtotime 將任何英文文字的日期時間描述解析為

Javascript裏面的時間處理:將時間時間對象轉成字符串格式

local replace lin TP 秒級 ole date() itl -h   問題背景:想把一個時間直接轉成字符串格式   通過查api發現有個toLocaleString(),根據本地時間格式,把 Date 對象轉換為字符串 new Date().toLoca

時間日期格式轉換的方法

用法: format(time, "yyyy-MM-dd mm:hh:ss")   或者  format(time, "yyyy-MM-dd")  或者 format(時間戳, "yyyy-MM-dd") format:(dat

資料庫中10位13位時間轉換為標準時間

最近專案要讀取一個數據庫,其中的一個時間戳為10位,一個為13位。 1.10位時間戳轉換: 其中10位時間戳準換為標準時間很簡單: 簡單起見,這裡資料庫只有一張表(test)一個欄位(createTime)和一條記錄(1415845484): createTime:1415

CST,CET,UTC,GMT,DST,Unix時間幾種常見時間概述與關系(轉)

使用 ndb 過程 發布 英國倫敦 國家 包括 世界時間 com 轉自:http://www.cnblogs.com/frontendBY/p/5215785.html 1、UTC: Universal Time Coordinated 協調世界時,又稱世界標準時間

logstash-使用日誌的生成時間替換日誌收集時間@timestamp

預設情況下ELK收集到的日誌在kibana上展示出來的時間戳和日誌的生成時間是不一致的,或許很多朋友來說和日誌生成的時間相差無幾, 那我只能說,你的日誌系統可能資源比較充足,處理的比較及時,所以你看到的日誌收集時間戳和日誌產生時間戳是相差無幾的效果, 但如果是想匯入歷史日誌資料進行相應的分析,這個時候

【Thinkphp5】解決模板輸出時間自動轉換為時間格式的問題

背景: 資料庫儲存時間為時間戳,格式為varchar,模板輸出時未進行時間格式化卻輸出了時間格式 如下圖 (資料庫儲存的時間戳) (頁面輸出的時間) (未進行格式化的時間程式碼) (格式化後的時間程式碼) 此時將報錯:       解決方法: 修改da

.net 時間轉化為Java時間並轉化為時間

最近專案中遇見這樣一個關於時間戳的問題,我們的後臺是.net , 具體的需求是這樣的。我向後臺請求,下載一個二進位制的檔案,然後就開始了漫長的解析二進位制檔案的過程,在朋友的幫助下,檔案解析其他資料均解析成功,只有一個拿到的時間戳,轉化出來的時間,總是不正確,然後經過一番查詢

Python 將Unix時間轉化為通用時間(年,天,時,分)。處理Dataframe中的Unix時間

import time def time_transform(unix_time): tt = {} #利用字典儲存 t = time.gmtime(unix_time)#重要的是這個函式,可獲得更多的資訊。這裡只取其中4個