String字符串工具类

字符串类(StringUtil.cs)

  1 using System;
  2 
  3 namespace Sam.OA.Common
  4 {
  5     /// <summary>
  6     /// 字符处理工具类
  7     /// 作者:陈彦斌
  8     /// 更新时间:2019年9月11日00:07:11
  9     /// </summary>
 10     [Serializable]
 11     public static class StringUtil
 12     {
 13         /// <summary>
 14         /// 判断字符对象为null或者为""
 15         /// </summary>
 16         /// <param name="obj">字符对象</param>
 17         /// <returns></returns>
 18         public static bool isNullOrBlank(Object obj)
 19         {
 20             if (obj == null || obj.ToString().ToLower() == "null" || obj == DBNull.Value || obj.ToString().Trim() == "" || obj.ToString() == "undefined" || obj.ToString().Equals(decimal.MinValue.ToString()))
 21                 return true;
 22             else
 23                 return false;
 24         }
 25         /// <summary>
 26         /// 处理字符串
 27         /// </summary>
 28         /// <param name="obj">字符串</param>
 29         /// <returns></returns>
 30         public static string ProcessString(object obj)
 31         {
 32             return isNullOrBlank(obj) ? "null" : "'" + obj.ToString().Replace("--", "") + "'";
 33         }
 34         /// <summary>
 35         /// 判断字符串是否为日期
 36         /// </summary>
 37         /// <param name="strDate">日期字符串</param>
 38         /// <returns></returns>
 39         public static bool ObjectIsDate(object strDate)
 40         {
 41             try
 42             {
 43                 DateTime.Parse(ProcessString(strDate));
 44                 return true;
 45             }
 46             catch
 47             {
 48                 return false;
 49             }
 50         }
 51         /// <summary>
 52         /// 判断字符串是否为decimal
 53         /// </summary>
 54         /// <param name="obj"></param>
 55         /// <returns></returns>
 56         public static bool IsDecimal(object obj)
 57         {
 58             try
 59             {
 60                 decimal.Parse(obj.ToString().Trim());
 61                 return true;
 62             }
 63             catch
 64             {
 65                 return false;
 66             }
 67         }
 68         /// <summary>
 69         /// 对象是否为Null并返回三元运算符值
 70         /// </summary>
 71         /// <param name="obj">对象</param>
 72         /// <returns></returns>
 73         public static string ObjectIsNull(string obj)
 74         {
 75             try
 76             {
 77                 return obj == null ? "" : obj.Replace(" ", "");
 78             }
 79             catch (Exception ex)
 80             {
 81                 return "";
 82             }
 83         }
 84         /// <summary>
 85         /// 对象是否为空并返回三元运算符值
 86         /// </summary>
 87         /// <param name="obj">对象</param>
 88         /// <returns></returns>
 89         public static string ObjectIsBlank(string obj)
 90         {
 91             try
 92             {
 93                 return obj.Replace(" ", "") == "" ? "" : obj.Replace(" ", "");
 94             }
 95             catch (Exception ex)
 96             {
 97                 return "";
 98             }
 99         }
100         /// <summary>
101         /// 对象是否为Decimal并返回三元运算符值
102         /// </summary>
103         /// <param name="obj">对象</param>
104         /// <returns></returns>
105         public static decimal ObjectIsDecimal(object obj)
106         {
107             try
108             {
109                 return Convert.ToDecimal(obj.ToString().Replace(" ", "") == "" ? "0" : obj);
110             }
111             catch (Exception ex)
112             {
113                 return 0;
114             }
115         }
116         /// <summary>
117         /// 获取当前月的第一天
118         /// </summary>
119         /// <returns></returns>
120         public static DateTime GetFirstDayCurrentMonth()
121         {
122             try
123             {
124                 return DateTime.Now.AddDays(1 - DateTime.Now.Day).Date;
125             }
126             catch (Exception ex)
127             {
128                 throw ex;
129             }
130         }
131         /// <summary>
132         /// 获取当前月的最后一天
133         /// </summary>
134         /// <returns></returns>
135         public static DateTime GetLastDayCurrentMonth()
136         {
137             try
138             {
139                 return DateTime.Now.AddDays(-DateTime.Now.Day).Date.AddMonths(1);
140             }
141             catch (Exception ex)
142             {
143                 throw ex;
144             }
145         }
146         /// <summary>
147         /// 获取指定日期,在为一年中为第几周
148         /// </summary>
149         /// <param name="dtWeek">指定时间</param>
150         /// <reutrn>返回第几周,1-52周</reutrn>
151         private static int GetWeekOfYear(DateTime dtWeek)
152         {
153             System.Globalization.GregorianCalendar gc = new System.Globalization.GregorianCalendar();
154             int weekOfYear = gc.GetWeekOfYear(dtWeek, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Monday);
155             return weekOfYear;
156         }
157         /// <summary> 
158         /// 计算某日起始日期(礼拜一的日期) 
159         /// </summary> 
160         /// <param name="someDate">该周中任意一天</param> 
161         /// <returns>返回礼拜一日期,无时分秒</returns> 
162         public static string GetMondayDate(DateTime someDate)
163         {
164             int i = someDate.DayOfWeek - DayOfWeek.Monday;
165             if (i == -1) i = 6;// i值 > = 0 ,因为枚举原因,Sunday排在最前,此时Sunday-Monday=-1,必须+7=6。 
166             TimeSpan ts = new TimeSpan(i, 0, 0, 0);
167             return someDate.Subtract(ts).ToShortDateString();
168         }
169         /// <summary> 
170         /// 计算某日结束日期(礼拜日的日期) 
171         /// </summary> 
172         /// <param name="someDate">该周中任意一天</param> 
173         /// <returns>返回礼拜日日期,无时分秒</returns> 
174         public static string GetSundayDate(DateTime someDate)
175         {
176             int i = someDate.DayOfWeek - DayOfWeek.Sunday;
177             if (i != 0) i = 7 - i;// 因为枚举原因,Sunday排在最前,相减间隔要被7减。 
178             TimeSpan ts = new TimeSpan(i, 0, 0, 0);
179             return someDate.Add(ts).ToShortDateString();
180         }
181         /// <summary>
182         /// 获取某月的天数
183         /// </summary>
184         /// <param name="someDate">日期</param>
185         /// <returns>当月的天数</returns>
186         public static int GetDaysInMonth(DateTime someDate)
187         {
188             return System.Threading.Thread.CurrentThread.CurrentUICulture.Calendar.GetDaysInMonth(someDate.Year, someDate.Month);
189         }
190     }
191 }

 

posted @ 2019-09-11 00:08  陈彦斌  阅读(740)  评论(0编辑  收藏  举报