字符串类(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. 利用百度文字识别API识别图像中的文字

      本文将会介绍如何使用百度AI开放平台中的文字识别服务来识别图片中的文字.百度AI开放平台的访问网址为:http://ai.baidu.com/ ,为了能够使用该平台提供的AI服务,你需要事先注册一 ...

  2. rmi与rpc的区别

    这里简单说一下RMI和RPC的区别. 什么是RMI RMI(Remote Method Invocation,远程方法调用),能够让在客户端Java虚拟机上的对象像调用本地对象一样调用服务端Java虚 ...

  3. 上手Neo4j

    Neo4j是什么 软件安装及常用的配置选项介绍 下载 wget https://neo4j.com/artifact.php?name=neo4j-community-3.5.3-unix.tar.g ...

  4. 如何使用SpringBoot封装自己的Starter

    作者:Sans_ juejin.im/post/5cb880c2f265da03981fc031 一.说明 我们在使用SpringBoot的时候常常要引入一些Starter,例如spring-boot ...

  5. 【ASP.NET Core学习】基础

    新建项目时,程序入口调用CreateDefaultBuilder(args),下面是源代码 public static IHostBuilder CreateDefaultBuilder(string ...

  6. ASP.NET Core Web 应用程序系列(三)- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)

    在上一章中主要和大家分享了在ASP.NET Core中如何使用Autofac替换自带DI进行构造函数的批量依赖注入,本章将和大家继续分享如何使之能够同时支持属性的批量依赖注入. 约定: 1.仓储层接口 ...

  7. Unitest自动化测试基于HTMLTestRunner报告案例

    报告效果如下: HTMLTestRunner脚本代码如下: #coding=utf-8 # URL: http://tungwaiyip.info/software/HTMLTestRunner.ht ...

  8. java简单实现用语音读txt文档

    最近比较无聊,随便翻着博客,无意中看到了有的人用VBS读文本内容,也就是读几句中文,emmm,挺有趣的,实现也很简单,都不需要安装什么环境,直接新建txt文件,输入一些简单的vbs读文本的代码,然后将 ...

  9. html5+css3画太极并添加动画效果

    可兼容移动端视图 效果图如下:太极图是可以旋转的 具体实现如下: <!DOCTYPE html> <html lang="zh"> <head> ...

  10. 算法设计与分析 1.1 Joyvan的矩阵

    ★题目描述 Joyvan有一个大小为n * m的矩阵,现在他要对矩阵进行q次操作,操作分为如下三种: 0 x y:交换矩阵的x.y两行. 1 x y:交换矩阵的x.y两列. 2 x y:求当前矩阵第x ...