From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL_ON/Common/Utlis.cs | 256 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 255 insertions(+), 1 deletions(-) diff --git a/HDL_ON/Common/Utlis.cs b/HDL_ON/Common/Utlis.cs index 4a8ae49..37e1aa8 100644 --- a/HDL_ON/Common/Utlis.cs +++ b/HDL_ON/Common/Utlis.cs @@ -1,13 +1,14 @@ 锘縰sing System; using Shared; using System.Text.RegularExpressions; +using System.Text; namespace HDL_ON { /// <summary> /// 甯哥敤宸ュ叿绫� /// </summary> - public class Utlis + public static class Utlis { /// <summary> /// 鍏ㄥ眬鎵撳嵃 @@ -41,6 +42,7 @@ { Text = mes, CloseTime = closeTime, + MaxWidth = Application.GetRealWidth(300), Direction = AMPopTipDirection.None }; tip.Show(MainPage.BaseView); @@ -171,6 +173,258 @@ #endif } + + /// <summary> + /// 鐢熸垚闅忔満瀛楃涓� + /// </summary> + /// <param name="length">瀛楃涓茬殑闀垮害</param> + /// <returns></returns> + public static string CreateRandomString(int length) + { + // 鍒涘缓涓�涓猄tringBuilder瀵硅薄瀛樺偍瀵嗙爜 + StringBuilder sb = new StringBuilder(); + //浣跨敤for寰幆鎶婂崟涓瓧绗﹀~鍏呰繘StringBuilder瀵硅薄閲岄潰鍙樻垚14浣嶅瘑鐮佸瓧绗︿覆 + for (int i = 0; i < length; i++) + { + Random random = new Random(Guid.NewGuid().GetHashCode()); + //闅忔満閫夋嫨閲岄潰鍏朵腑鐨勪竴绉嶅瓧绗︾敓鎴� + switch (random.Next(3)) + { + case 0: + //璋冪敤鐢熸垚鐢熸垚闅忔満鏁板瓧鐨勬柟娉� + sb.Append(createNum()); + break; + case 1: + //璋冪敤鐢熸垚鐢熸垚闅忔満灏忓啓瀛楁瘝鐨勬柟娉� + sb.Append(createSmallAbc()); + break; + case 2: + //璋冪敤鐢熸垚鐢熸垚闅忔満澶у啓瀛楁瘝鐨勬柟娉� + sb.Append(createBigAbc()); + break; + } + } + return sb.ToString(); + } + + /// <summary> + /// 鐢熸垚鍗曚釜闅忔満鏁板瓧 + /// </summary> + static int createNum() + { + Random random = new Random(Guid.NewGuid().GetHashCode()); + int num = random.Next(10); + return num; + } + + /// <summary> + /// 鐢熸垚鍗曚釜澶у啓闅忔満瀛楁瘝 + /// </summary> + static string createBigAbc() + { + //A-Z鐨� ASCII鍊间负65-90 + Random random = new Random(Guid.NewGuid().GetHashCode()); + int num = random.Next(65, 91); + string abc = Convert.ToChar(num).ToString(); + return abc; + } + + /// <summary> + /// 鐢熸垚鍗曚釜灏忓啓闅忔満瀛楁瘝 + /// </summary> + static string createSmallAbc() + { + //a-z鐨� ASCII鍊间负97-122 + Random random = new Random(Guid.NewGuid().GetHashCode()); + int num = random.Next(97, 123); + string abc = Convert.ToChar(num).ToString(); + return abc; + } + + /// <summary> + /// 鑾峰彇鏃堕棿鎴筹紙ss锛� + /// </summary> + /// <param name="unixTimeStamp"></param> + /// <returns></returns> + public static DateTime UnixToDateTime(long unixTimeStamp) + { + DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + return startTime.AddSeconds(unixTimeStamp); + } + + /// <summary> + /// </summary> + /// <param name="unixTimeStamp"></param> + /// <returns></returns> + public static long DateTimeToUnix(DateTime dateTime) + { + DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + return (long)(dateTime - startTime).TotalSeconds; // 鐩稿樊绉掓暟 + } + + /// <summary> + /// + /// </summary> + /// <param name="unixTimeStamp"></param> + /// <returns></returns> + public static DateTime UnixToDateTimeMS(long unixTimeStamp) + { + DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + return startTime.AddMilliseconds(unixTimeStamp); + } + + /// <summary> + /// 鏃堕棿鎴宠浆鏃堕棿瀛楃涓� + /// </summary> + /// <param name="unixTimeStamp"></param> + /// <param name="format"></param> + /// <returns></returns> + public static string UnixToDateTimeWithFormatMS(long unixTimeStamp, string format = "yyyy") + { + DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + return startTime.AddMilliseconds(unixTimeStamp).ToString(format); + } + + /// <summary> + /// + /// </summary> + /// <param name="unixTimeStamp">姣鏃堕棿鎴�</param> + /// <returns></returns> + public static string UnixToDateTimeYearMS(long unixTimeStamp) + { + try + { + return UnixToDateTimeWithFormatMS(unixTimeStamp); + } + catch + { + return "2000"; + } + } + + /// <summary> + /// 鑾峰彇鏃堕棿鎴筹紙s锛� + /// </summary> + /// <param name="isMilliseconds">鏄惁寰</param> + /// <returns></returns> + public static string GetTimestamp(bool isMilliseconds = true) + { + System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + if (isMilliseconds) + { + return ((long)(DateTime.Now - startTime).TotalMilliseconds).ToString(); // 鐩稿樊寰鏁� + } + else + { + return ((long)(DateTime.Now - startTime).TotalSeconds).ToString(); // 鐩稿樊绉掓暟 + } + } + + /// <summary> + /// 鑾峰彇璇锋眰鎻愪氦鐨勮瑷�鍙傛暟 + /// </summary> + public static string GetPostLanguageType() + { + return Language.CurrentLanguage == "Chinese" ? LanguageTypeEnum.CHINESE.ToString() : LanguageTypeEnum.ENGLISH.ToString(); + } + + + #region 鏃堕棿鏍煎紡杞崲 + private const int Second = 1; + private const int Minute = 60 * Second; + private const int Hour = 60 * Minute; + private const int Day = 24 * Hour; + private const int Month = 30 * Day; + + ///// <summary> + ///// 鏃堕棿杞崲 + ///// 灏戜簬1澶� 鏄剧ず 鏃跺垎 + ///// 灏戜簬涓�骞� 鏄剧ず 鏈堟棩 + ///// 澶т簬涓�骞� 鏄剧ず 骞� + ///// </summary> + ///// <param name="dateTime"></param> + ///// <returns></returns> + //public static string ToFriendlyDisplay(this DateTime dateTime) + //{ + // var ts = DateTime.Now - dateTime; + // var delta = ts.TotalSeconds; + // if (delta < Day) + // { + // //鏄剧ず 鏃�:鍒� + // return dateTime.ToString("HH:mm"); + // } + // else if (delta < 12 * Month) + // { + // //鏄剧ず 鏈�:鏃� + // return dateTime.ToString("MM/dd"); + // } + // else + // { //鏄剧ず 骞� + // return dateTime.ToString("yyyy"); + // } + //} + /// <summary> + /// 鏃堕棿杞崲 + /// 灏戜簬1澶� 鏄剧ず 鏃跺垎 + /// 灏戜簬涓�骞� 鏄剧ず 鏈堟棩 + /// 澶т簬涓�骞� 鏄剧ず 骞� + /// </summary> + /// <param name="dateTime"></param> + /// <returns></returns> + public static string ToFriendlyDisplay(this DateTime dateTime) + { + var nowDateTime = DateTime.Now; + var subYear = nowDateTime.Year - dateTime.Year; + var subMonth = nowDateTime.Month - dateTime.Month; + var subDay = nowDateTime.Day - dateTime.Day; + + //骞翠唤宸�煎ぇ浜�0 + if(subYear > 0) + { + //鏄剧ず 骞� + return dateTime.ToString("yyyy"); + } + else + { + //鐩稿悓骞翠唤锛屾湀浠藉樊鍊煎ぇ浜�0 + if (subMonth > 0) + { + //鏄剧ず 鏈�:鏃� + return dateTime.ToString("MM/dd"); + } + else + { + //鐩稿悓鏈堜唤锛屾棩鏈熷樊鍊煎ぇ浜�0 + if (subDay > 0) + { + //鏄剧ず 鏈�:鏃� + return dateTime.ToString("MM/dd"); + } + else + { + //鍚屼竴澶╂樉绀� 鏃�:鍒� + return dateTime.ToString("HH:mm"); + } + } + } + } + + /// <summary> + /// 鏃堕棿杞崲 + /// 灏戜簬1澶� 鏄剧ず 鏃跺垎 + /// 灏戜簬涓�骞� 鏄剧ず 鏈堟棩 + /// 澶т簬涓�骞� 鏄剧ず 骞� + /// </summary> + /// <param name="dateTime"></param> + /// <returns></returns> + public static string ToFriendlyDisplay(long unixTimeStamp) + { + return ToFriendlyDisplay(UnixToDateTimeMS(unixTimeStamp)); + } + #endregion + + } + } -- Gitblit v1.8.0