//
日期计算
public static DateTime CalculateFirstDateOfWeek(DateTime someDate)
... {
int i = someDate.DayOfWeek - DayOfWeek.Monday;
if (i == -1) i = 6;// i值 > = 0 ,因为枚举原因,Sunday排在最前,此时Sunday-Monday=-1,必须+7=6。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Subtract(ts);
}
public static DateTime CalculateLastDateOfWeek(DateTime someDate)
... {
int i = someDate.DayOfWeek - DayOfWeek.Sunday;
if (i != 0) i = 7 - i;// 因为枚举原因,Sunday排在最前,相减间隔要被7减。这是算到周日的方法。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Add(ts);
}
// 用xpath操作web.comfig
public static string xmlGetValue( string Key)
... {
string strFP = HttpContext.Current.Server.MapPath("web.config");
string strXPath = "/configuration/appSettings/add[@key='?']";
XmlDocument XMLWebConfig = new XmlDocument();
XMLWebConfig.Load(strFP);
string xmlValue = XMLWebConfig.SelectSingleNode((strXPath.Replace("?", Key))).Attributes["value"].InnerText;
return xmlValue;
}
// 调用cmd
public static string myCmd( string myCmd)
... {
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine(myCmd);
p.StandardInput.WriteLine("exit");
string myResult = p.StandardOutput.ReadToEnd();
p.Close();
return myResult;
}
// MD5加密 key为8个字母或4个汉字
public static string MD5Encrypt( string pToEncrypt, string sKey)
... {
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach (byte b in ms.ToArray())
...{
ret.AppendFormat("{0:X2}", b);
}
ret.ToString();
return ret.ToString();
}
// MD5解密
public static string MD5Decrypt( string pToDecrypt, string sKey)
... {
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for (int x = 0; x < pToDecrypt.Length / 2; x++)
...{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
return System.Text.Encoding.Default.GetString(ms.ToArray());
}
public static DateTime CalculateFirstDateOfWeek(DateTime someDate)
... {
int i = someDate.DayOfWeek - DayOfWeek.Monday;
if (i == -1) i = 6;// i值 > = 0 ,因为枚举原因,Sunday排在最前,此时Sunday-Monday=-1,必须+7=6。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Subtract(ts);
}
public static DateTime CalculateLastDateOfWeek(DateTime someDate)
... {
int i = someDate.DayOfWeek - DayOfWeek.Sunday;
if (i != 0) i = 7 - i;// 因为枚举原因,Sunday排在最前,相减间隔要被7减。这是算到周日的方法。
TimeSpan ts = new TimeSpan(i, 0, 0, 0);
return someDate.Add(ts);
}
// 用xpath操作web.comfig
public static string xmlGetValue( string Key)
... {
string strFP = HttpContext.Current.Server.MapPath("web.config");
string strXPath = "/configuration/appSettings/add[@key='?']";
XmlDocument XMLWebConfig = new XmlDocument();
XMLWebConfig.Load(strFP);
string xmlValue = XMLWebConfig.SelectSingleNode((strXPath.Replace("?", Key))).Attributes["value"].InnerText;
return xmlValue;
}
// 调用cmd
public static string myCmd( string myCmd)
... {
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine(myCmd);
p.StandardInput.WriteLine("exit");
string myResult = p.StandardOutput.ReadToEnd();
p.Close();
return myResult;
}
// MD5加密 key为8个字母或4个汉字
public static string MD5Encrypt( string pToEncrypt, string sKey)
... {
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach (byte b in ms.ToArray())
...{
ret.AppendFormat("{0:X2}", b);
}
ret.ToString();
return ret.ToString();
}
// MD5解密
public static string MD5Decrypt( string pToDecrypt, string sKey)
... {
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for (int x = 0; x < pToDecrypt.Length / 2; x++)
...{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
return System.Text.Encoding.Default.GetString(ms.ToArray());
}