1.获取日历信息
public List<Dictionary<string,object>> GetCalendarInfo(string year)
{
var listDic=new List<Dictionary<string,object>>();
var url = "http://timor.tech/api/holiday/year/"+ year;
var result=HttpClientExtension.GetAsync(url).Result;
if (!string.IsNullOrEmpty(result))
{
var resultDic = result.ToObject();
var holiday = resultDic.GetValue("holiday");
if (string.IsNullOrEmpty(holiday)) return listDic;
var holidayDic = holiday.ToObject();
DateTime startTime = Convert.ToDateTime(year+"/01/01");
DateTime endTime = Convert.ToDateTime(year+"/12/31");
for (DateTime time = startTime; time <= endTime; time = time.AddDays(1))
{
var dic=new Dictionary<string,object>();
var timeStr = time.ToString("yyyy-MM-dd");
dic.SetValue("Day", timeStr);
var dateStr = time.ToString("MM-dd");
var detail = holidayDic.GetValue(dateStr);
if (!string.IsNullOrEmpty(detail))
{
var detailDic=detail.ToObject();
var isholiday = detailDic.GetValue("holiday");
if (isholiday == "True")
{
dic.SetValue("Type", "2");
dic.SetValue("Des", "双休日");
}
else if (isholiday == "False")
{
dic.SetValue("Type", "1");
dic.SetValue("Des", "工作日");
}
}
else
{
var day = time.DayOfWeek;
if (day == DayOfWeek.Sunday || day == DayOfWeek.Saturday)
{
dic.SetValue("Type", "2");
dic.SetValue("Des", "双休日");
}
else
{
dic.SetValue("Type", "1");
dic.SetValue("Des", "工作日");
}
}
listDic.Add(dic);
}
}
return listDic;
}
2.获取某个日期的最后一天
function getLastDay(){
var year = new Date().getFullYear();
var month = new Date().getMonth() + 1;
var lastDate = new Date(year, month , 0).getDate();
month = month < 10 ? '0' + month : month ;
return [year,month ,lastDate ].join("-")
}
3.HttpWebRequest获取返回文件流
public static bool GetUrl(string url,string filePath)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
//req.TimeOut = "800";//设置请求超时时间,单位为毫秒
req.ContentType = "application/json; charset=utf-8";
req.Accept = "text/plain,application/json";
req.UserAgent = "privateapp-csharp-api-client";
req.Host = GetHost(url);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream responseStream = resp.GetResponseStream();
byte[] bArr = new byte[1024];
int size = responseStream.Read(bArr, 0, 1024);
using (FileStream file = new FileStream(filePath, FileMode.OpenOrCreate,FileAccess.ReadWrite))
{
while (size > 0)
{
file.Write(bArr, 0, size);
size = responseStream.Read(bArr, 0, 1024);
}
}
return true;
}
4.HttpWebRequest post方法
public static string PostUrl(string url, string postData)
{
var timestamp = GetTimeStamp().ToString();
string result = "";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
//req.TimeOut = "800";//设置请求超时时间,单位为毫秒
req.ContentType = "application/json; charset=utf-8";
req.Accept = "text/plain,application/json";
req.UserAgent = "privateapp-csharp-api-client";
req.Host = GetHost(url);
byte[] data = Encoding.UTF8.GetBytes(postData);
req.ContentLength = data.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
//获取响应内容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
try
{
result = Regex.Unescape(result);
}
catch (Exception)
{
}
return result;
}
datatable过滤重组某一列成新的datatable
var dt = new DataTable();
var dv= dt.DefaultView;
DataTable newDt= dv.ToTable(true, new string[] { "fieldName1" });