后端常用方法

1.获取日历信息

/// <summary>
        /// 获取日历所有信息
        /// </summary>
        /// <returns></returns>
        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");
                    //日期-类型-1-工作日-2双休日
                    //正常上班周末是双休-节假日补班
                    //1.先判断是否在节假日内
                    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 ; //月份补 0
    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" });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值