using System;
using System.Collections.Generic;
using System.Text;
namespace Utils
{
public class Utility
{
//创建一个随机数实例
private static Random ro = new Random();
///
/// right函数
///
///
///
///
public static string Right(string sSource, int iLength)
{
if (iLength == -1)
{
return "";
}
return sSource.Substring(iLength > sSource.Length ? 0 : sSource.Length - iLength);
}
///
/// left函数
///
///
///
///
public static string Left(string sSource, int iLength)
{
if (iLength == -1)
{
return "";
}
return sSource.Substring(0, iLength > sSource.Length ? sSource.Length : iLength);
}
#region 常用日期函数
///
/// 上月第一天
///
public static string PreMonthFirstDay
{
get { return DateTime.Now.AddDays(1 - DateTime.Now.Day).AddMonths(-1).ToString("yyyy-MM-dd"); }
}
///
/// 上月最后一天
///
public static string PreMonthLastDay
{
get { return DateTime.Now.AddDays(1 - DateTime.Now.Day).AddDays(-1).ToString("yyyy-MM-dd"); }
}
///
/// 上周一
///
public static string PreWeekMonday
{
get { return DateTime.Now.AddDays(1 - System.Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))).AddDays(-7).ToString("yyyy-MM-dd"); }
}
///
/// 上周日
///
public static string PreWeekSunday
{
get { return DateTime.Now.AddDays(1 - System.Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))).AddDays(-1).ToString("yyyy-MM-dd"); }
}
///
/// 昨天
///
public static string Yesterday
{
get { return DateTime.Now.Date.AddDays(-1).ToString("yyyy-MM-dd"); }
}
///
/// 今天
///
public static string Today
{
get { return DateTime.Now.ToString("yyyy-MM-dd"); }
}
///
/// 本周一
///
public static string ThisWeekMonday
{
get { return DateTime.Now.AddDays(1 - System.Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))).ToString("yyyy-MM-dd"); }
}
///
/// 本周日
///
public static string ThisWeekSunday
{
get { return DateTime.Now.AddDays(1 - System.Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))).AddDays(6).ToString("yyyy-MM-dd"); }
}
///
/// 本月第一天
///
public static string ThisMonthFirstDay
{
get { return DateTime.Now.AddDays(1 - DateTime.Now.Day).ToString("yyyy-MM-dd"); }
}
///
/// 本月最后一天
///
public static string ThisMonthLastDay
{
get { return DateTime.Now.AddDays(1 - DateTime.Now.Day).AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd"); }
}
///
/// 长日期转换为yyyy-mm-dd形式显示
///
///
///
public static string ConvertDateToYYYYMMDD(object date)
{
if (date.IsNullOrEmpty())
{
return "";
}
return System.Convert.ToDateTime(date).ToString("yyyy-MM-dd");
}
#endregion
///
/// 是否本地服务器
///
///
public static bool IsLocal()
{
string address = RequestHelper.GetServerIp();
//本地不作处理
if (address.Contains("192.168."))
{
return true;
}
return false;
}
///
/// 根据IP获取webconfig中的本地域名或者网站域名
///
///
public static string GetWebSiteDomain()
{
if (Utility.IsLocal())
{
return System.Configuration.ConfigurationManager.AppSettings["LocalDomain"].ToString();
}
else
{
return System.Configuration.ConfigurationManager.AppSettings["WebSiteDomain"].ToString();
}
}
///
/// 时分秒+随机数字符串
///
///
public static string GetRandomNumber()
{
string orderNo = DateTime.Now.ToString("yyyyMMddHHmmss");
//获取一个大于1000小于9999的随机数
string rnd = ro.Next(1000, 9999).ToString();
orderNo += rnd;
return orderNo;
}
///
/// 获取随机6位数
///
///
public static string GetRandomSix()
{
string rnd = ro.Next(100000, 999999).ToString();
return rnd;
}
///
/// 时间戳转为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 CompareArrayEqual(string[] arr1, string[] arr2)
{
if (arr1 == null || arr2 == null) return false;
if (arr1.Length != arr2.Length) return false;
Array.Sort(arr1);
Array.Sort(arr2);
for (int i = 0; i < arr1.Length; i++)
{
if (arr1[i] != arr2[i])
{
return false;
}
}
return true;
}
}
}