unity常用的工具方法

2021-03-19  本文已影响0人  安宇辛

1——获取时间相关

  public static int GetTimeStamp()
        {
            long time = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();
            return (int)time;
        }
  private static DateTime GetDateTime(int timeStamp)
        {
            DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
            long lTime = ((long)timeStamp * 10000000);
            TimeSpan toNow = new TimeSpan(lTime);
            DateTime targetDt = dtStart.Add(toNow);
            return targetDt;
        }
   public static string TimeToDate(int timeStamp)
        {
            DateTime dt = GetDateTime(timeStamp);
            string time = string.Format("{0}", dt.ToString("yyyy.MM.dd hh:mm:ss"));
            return time;
        }

2——秒转年月日

public static string TimeConversion(int second)
        {
            string time;
            int hour = 0;
            int minute = 0;

            if (second > 60)
            {
                minute = second / 60;
                second = second % 60;
            }
            if (minute > 60)
            {
                hour = minute / 60;
                minute = minute % 60;
            }
            time = string.Format("{0:D2}:{1:D2}:{2:D2}", hour, minute, second);

            return time;
        }

3——Json保存和加载

public class DataToJson
    {
       //保存json   name是文件名   param是json的结构体
        public static void SaveJson(string name, object param)
        {
            string path = Application.persistentDataPath +string.Format("/{0}.json",name);
            var content = JsonConvert.SerializeObject(param);
            File.WriteAllText(path, content);
        }
       //读取json  MyLife是转出的结构体
        public static MyLife LoadJson(string name)
        {
            string path = Application.persistentDataPath + string.Format("/{0}.json", name);
            if (File.Exists(path))
            {
                var content = File.ReadAllText(path);
                var playerData = JsonConvert.DeserializeObject<MyLife>(content);
                return playerData;
            }
            else
            {
                Debug.LogError("Save file not found in  " + path);
                return null;
            }
        }


    }

4——文本的正则检测

//正则字符串
public static string restrict = @"^[a-zA-Z0-9\s~`.\-_'|!@#\$%\^&\*\(\)\+=\|\\\}\]\{\[:;<,>\?\/""]*$";

  //检测是不是有相应的正则内容  返回true 没有返回false
  public static bool FnIsDigitOrLetter2(string strMessage)
        {
            bool bResult = false;

            string pattern = GameData.restrict;

            if (System.Text.RegularExpressions.Regex.IsMatch(strMessage, pattern))
            {
                  bResult = true;
            }
            else
            {
                  bResult = false;
            }
       

            return bResult;
        }
   //删除没有正则字符的内容
   public static string Change(string str)
        {
            str = str.Trim();//去掉首尾空格
            bool pop = false;
            if (str.Length > 0)
            {
                for (int i = str.Length - 1; i >= 0; i--)
                {

                    string newStr = str[i].ToString();
                    if (!FnIsDigitOrLetter2(newStr))
                    {
                        str = str.Remove(i, 1);
                        pop = true;
                    }
                }
            }
            if (pop)
            {
                //提示有无效字符
                GamePopUpLabel.Show("412", true);

            }
            return str;

        }

5——256加密

        //256加密
        public static string Sha256(string data)
        {
            byte[] bytes = Encoding.UTF8.GetBytes(data);
            byte[] hash = SHA256.Create().ComputeHash(bytes);

            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < hash.Length; i++)
            {
                builder.Append(hash[i].ToString("X2"));
            }

            return builder.ToString();

        }
上一篇 下一篇

猜你喜欢

热点阅读