字符串类(StringUtil.cs)

 using System;

 namespace Sam.OA.Common
{
/// <summary>
/// 字符处理工具类
/// 作者:陈彦斌
/// 更新时间:2019年9月11日00:07:11
/// </summary>
[Serializable]
public static class StringUtil
{
/// <summary>
/// 判断字符对象为null或者为""
/// </summary>
/// <param name="obj">字符对象</param>
/// <returns></returns>
public static bool isNullOrBlank(Object obj)
{
if (obj == null || obj.ToString().ToLower() == "null" || obj == DBNull.Value || obj.ToString().Trim() == "" || obj.ToString() == "undefined" || obj.ToString().Equals(decimal.MinValue.ToString()))
return true;
else
return false;
}
/// <summary>
/// 处理字符串
/// </summary>
/// <param name="obj">字符串</param>
/// <returns></returns>
public static string ProcessString(object obj)
{
return isNullOrBlank(obj) ? "null" : "'" + obj.ToString().Replace("--", "") + "'";
}
/// <summary>
/// 判断字符串是否为日期
/// </summary>
/// <param name="strDate">日期字符串</param>
/// <returns></returns>
public static bool ObjectIsDate(object strDate)
{
try
{
DateTime.Parse(ProcessString(strDate));
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 判断字符串是否为decimal
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static bool IsDecimal(object obj)
{
try
{
decimal.Parse(obj.ToString().Trim());
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 对象是否为Null并返回三元运算符值
/// </summary>
/// <param name="obj">对象</param>
/// <returns></returns>
public static string ObjectIsNull(string obj)
{
try
{
return obj == null ? "" : obj.Replace(" ", "");
}
catch (Exception ex)
{
return "";
}
}
/// <summary>
/// 对象是否为空并返回三元运算符值
/// </summary>
/// <param name="obj">对象</param>
/// <returns></returns>
public static string ObjectIsBlank(string obj)
{
try
{
return obj.Replace(" ", "") == "" ? "" : obj.Replace(" ", "");
}
catch (Exception ex)
{
return "";
}
}
/// <summary>
/// 对象是否为Decimal并返回三元运算符值
/// </summary>
/// <param name="obj">对象</param>
/// <returns></returns>
public static decimal ObjectIsDecimal(object obj)
{
try
{
return Convert.ToDecimal(obj.ToString().Replace(" ", "") == "" ? "" : obj);
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 获取当前月的第一天
/// </summary>
/// <returns></returns>
public static DateTime GetFirstDayCurrentMonth()
{
try
{
return DateTime.Now.AddDays( - DateTime.Now.Day).Date;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 获取当前月的最后一天
/// </summary>
/// <returns></returns>
public static DateTime GetLastDayCurrentMonth()
{
try
{
return DateTime.Now.AddDays(-DateTime.Now.Day).Date.AddMonths();
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 获取指定日期,在为一年中为第几周
/// </summary>
/// <param name="dtWeek">指定时间</param>
/// <reutrn>返回第几周,1-52周</reutrn>
private static int GetWeekOfYear(DateTime dtWeek)
{
System.Globalization.GregorianCalendar gc = new System.Globalization.GregorianCalendar();
int weekOfYear = gc.GetWeekOfYear(dtWeek, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Monday);
return weekOfYear;
}
/// <summary>
/// 计算某日起始日期(礼拜一的日期)
/// </summary>
/// <param name="someDate">该周中任意一天</param>
/// <returns>返回礼拜一日期,无时分秒</returns>
public static string GetMondayDate(DateTime someDate)
{
int i = someDate.DayOfWeek - DayOfWeek.Monday;
if (i == -) i = ;// i值 > = 0 ,因为枚举原因,Sunday排在最前,此时Sunday-Monday=-1,必须+7=6。
TimeSpan ts = new TimeSpan(i, , , );
return someDate.Subtract(ts).ToShortDateString();
}
/// <summary>
/// 计算某日结束日期(礼拜日的日期)
/// </summary>
/// <param name="someDate">该周中任意一天</param>
/// <returns>返回礼拜日日期,无时分秒</returns>
public static string GetSundayDate(DateTime someDate)
{
int i = someDate.DayOfWeek - DayOfWeek.Sunday;
if (i != ) i = - i;// 因为枚举原因,Sunday排在最前,相减间隔要被7减。
TimeSpan ts = new TimeSpan(i, , , );
return someDate.Add(ts).ToShortDateString();
}
/// <summary>
/// 获取某月的天数
/// </summary>
/// <param name="someDate">日期</param>
/// <returns>当月的天数</returns>
public static int GetDaysInMonth(DateTime someDate)
{
return System.Threading.Thread.CurrentThread.CurrentUICulture.Calendar.GetDaysInMonth(someDate.Year, someDate.Month);
}
}
}

String字符串工具类的更多相关文章

  1. StringUtils 字符串工具类

    package com.thinkgem.jeesite.common.utils; import java.io.File; import java.io.IOException; import j ...

  2. Redis操作字符串工具类封装,Redis工具类封装

    Redis操作字符串工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>>& ...

  3. * 类描写叙述:字符串工具类 类名称:String_U

    /****************************************** * 类描写叙述:字符串工具类 类名称:String_U * ************************** ...

  4. Jsoup请求http或https返回json字符串工具类

    Jsoup请求http或https返回json字符串工具类 所需要的jar包如下: jsoup-1.8.1.jar 依赖jar包如下: httpclient-4.5.4.jar; httpclient ...

  5. StringUtil字符串工具类

    package com.zjx.test03; /** * 字符串工具类 * @author * */ public class StringUtil { /** * 判断是否是空 * @param ...

  6. 产生UUID随机字符串工具类

    产生UUID随机字符串工具类 UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成的API.按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址. ...

  7. 自用java字符串工具类

    不断封装一些常用的字符串操作加到这个工具类里,不断积累: package com.netease.lede.qa.util; import java.text.ParseException; impo ...

  8. 有意思的String字符工具类

    对String的操作是Java攻城师必备的,一个优秀的攻城师是懒惰,他会把自己的一些常见的代码写成可提供拓展和复用的工具类或者工具库,这些是这些优秀工程师的法宝. 我就先从String这个基本操作开始 ...

  9. StringUtils字符串工具类左侧补齐(leftPad)、右侧补齐(rightPad)、左右两侧补齐(center)工具方法

    这里使用的是 org.apache.commons.lang.StringUtils;下面是StringUtils工具类中字符串左侧补齐的方法,示例如下: //左侧补齐 第一个参数:原始字符串,第二个 ...

随机推荐

  1. Java题库——Chapter1 计算机、程序和Java概述

    1)________ is the physical aspect of the computer that can be seen. A)Hardware B) Operating system C ...

  2. iOS swift 带有attributeString的多行文本label

    class AttributeStringGenerator { var attributeString: NSMutableAttributedString! var lineSpacing: CG ...

  3. Spring Boot 2 + Thymeleaf:表单字段绑定、表单提交处理

    Spring Boot中Thymeleaf对表单处理的一些用法:(1)使用th:field属性:进行表单字段绑定(2)使用ids对象:一般用于lable配合radio或checkbox使用(3)表单提 ...

  4. 循环语句for基本概述

    循环语句for基本概述 01. for循环基础语法 for 变量名 in [ 取值列表 ]do 循环体done 02. for循环基本使用示例 #取值列表有多种取值方式,可以直接读取in后面的值,默认 ...

  5. [20191101]通过zsh计算sql语句的sql_id.txt

    [20191101]通过zsh计算sql语句的sql_id.txt 1.简单介绍以及测试使用zsh遇到的问题:--//前段时间写的,链接http://blog.itpub.net/267265/vie ...

  6. tomcat修改进程名称

    1.window平台: 打开tomcat_home\bin\setclasspath.bat文件,找到set _RUNJAVA=”%JRE_HOME%\bin\java”这一行. 将该行注释掉 ,然后 ...

  7. raid组合优缺点介绍和创建LVM实验个人笔记

    一.RAID组合介绍 RAID模式优缺点的简要介绍 1.raid 0 模式 优点:在RAID 0状态下,存储数据被分割成两部分,分别存储在两块硬盘上,此时移动硬盘的理论存储速度是单块硬盘的2倍,实际容 ...

  8. June 16th, 2019. Week 25th, Sunday.

    I can fly higher than an eagle, for you are the wind beneath my wings. 我之所以能飞得比鹰还高,是因为有你做我羽翼下的风. You ...

  9. CodeForces - 1238D(思维)

    题意 https://vjudge.net/problem/CodeForces-1238D 如果一个字符串的每个字母,属于至少一个(长度大于1)的回文串,则称这个字符串为good. 一个长度为n的字 ...

  10. 【hdu4045】Machine scheduling(dp+第二类斯特林数)

    传送门 题意: 从\(n\)个人中选\(r\)个出来,但每两个人的标号不能少于\(k\). 再将\(r\)个人分为不超过\(m\)个集合. 问有多少种方案. 思路: 直接\(dp\)预处理出从\(n\ ...