using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.NetworkInformation; using System.Net.Sockets; using System.Windows.Forms; using System.IO; using System.IO.Compression; namespace BatchService.Framework.Utility { public static class Common { public static int GetAge(string i_age) { int t_age = 0; switch (i_age.Substring(i_age.Length - 1, 1)) { case "天": case "月": case "岁": int.TryParse(i_age.Substring(0, i_age.Length - 1), out t_age); break; } return t_age; } public static string GetAgeUnit(string i_age) { return i_age.Substring(i_age.Length - 1, 1); } public static double ConvertPriceStringToDouble(string i_price) { double t_db_price = 0; double.TryParse(i_price, out t_db_price); return t_db_price; } /// /// 时间戳转为C#格式时间 /// /// Unix时间戳格式 /// C#格式时间 public static DateTime GetTime(string timeStamp) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(timeStamp + "0000000"); TimeSpan toNow = new TimeSpan(lTime); return dtStart.Add(toNow); } /// /// DateTime时间格式转换为Unix时间戳格式 /// /// DateTime时间格式 /// Unix时间戳格式 public static int ConvertDateTimeInt(System.DateTime time) { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); return (int)(time - startTime).TotalSeconds; } /// /// 是否数字 /// /// /// /// public static bool isNumberic(string message, out int result) { System.Text.RegularExpressions.Regex rex = new System.Text.RegularExpressions.Regex(@"^\d+$"); result = -1; if (rex.IsMatch(message)) { result = int.Parse(message); return true; } else return false; } public static string GetLocalIP() { List strIPs = new List(); NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface adapter in nics) { if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet) { var mac = adapter.GetPhysicalAddress(); Console.WriteLine(mac); IPInterfaceProperties ip = adapter.GetIPProperties(); UnicastIPAddressInformationCollection ipCollection = ip.UnicastAddresses; foreach (UnicastIPAddressInformation ipadd in ipCollection) { //InterNetwork IPV4地址 //InterNetworkV6 IPV6地址 if (ipadd.Address.AddressFamily == AddressFamily.InterNetwork) { //判断是否为ipv4 Console.WriteLine(ipadd.Address.ToString()); strIPs.Add(ipadd.Address.ToString()); } } } } return string.Join(";", strIPs); } /// /// 压缩数据 /// /// /// public static byte[] Compress(byte[] data) { MemoryStream ms = new MemoryStream(); GZipStream zipStream = new GZipStream(ms, CompressionMode.Compress); zipStream.Write(data, 0, data.Length);//将数据压缩并写到基础流中 zipStream.Close(); return ms.ToArray(); } /// 解压数据 /// /// /// public static byte[] Decompress(byte[] data) { MemoryStream srcMs = new MemoryStream(data); GZipStream zipStream = new GZipStream(srcMs, CompressionMode.Decompress); MemoryStream ms = new MemoryStream(); byte[] bytes = new byte[40960]; int n; while ((n = zipStream.Read(bytes, 0, bytes.Length)) > 0) { ms.Write(bytes, 0, n); } zipStream.Close(); return ms.ToArray(); } public static byte[] ToByteArray(this Stream stream) { stream.Position = 0; byte[] buffer = new byte[stream.Length]; for (int totalBytesCopied = 0; totalBytesCopied < stream.Length; ) totalBytesCopied += stream.Read(buffer, totalBytesCopied, Convert.ToInt32(stream.Length) - totalBytesCopied); return buffer; } } }