String字符串工具类
字符串类(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字符串工具类的更多相关文章
- StringUtils 字符串工具类
package com.thinkgem.jeesite.common.utils; import java.io.File; import java.io.IOException; import j ...
- Redis操作字符串工具类封装,Redis工具类封装
Redis操作字符串工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>>& ...
- * 类描写叙述:字符串工具类 类名称:String_U
/****************************************** * 类描写叙述:字符串工具类 类名称:String_U * ************************** ...
- Jsoup请求http或https返回json字符串工具类
Jsoup请求http或https返回json字符串工具类 所需要的jar包如下: jsoup-1.8.1.jar 依赖jar包如下: httpclient-4.5.4.jar; httpclient ...
- StringUtil字符串工具类
package com.zjx.test03; /** * 字符串工具类 * @author * */ public class StringUtil { /** * 判断是否是空 * @param ...
- 产生UUID随机字符串工具类
产生UUID随机字符串工具类 UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成的API.按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址. ...
- 自用java字符串工具类
不断封装一些常用的字符串操作加到这个工具类里,不断积累: package com.netease.lede.qa.util; import java.text.ParseException; impo ...
- 有意思的String字符工具类
对String的操作是Java攻城师必备的,一个优秀的攻城师是懒惰,他会把自己的一些常见的代码写成可提供拓展和复用的工具类或者工具库,这些是这些优秀工程师的法宝. 我就先从String这个基本操作开始 ...
- StringUtils字符串工具类左侧补齐(leftPad)、右侧补齐(rightPad)、左右两侧补齐(center)工具方法
这里使用的是 org.apache.commons.lang.StringUtils;下面是StringUtils工具类中字符串左侧补齐的方法,示例如下: //左侧补齐 第一个参数:原始字符串,第二个 ...
随机推荐
- 一文了解 Consistent Hash
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/LGLqEOlGExKob8xEXXWckQ作者:钱幸川 在分布式环境下面,我们经常会通过一定的 ...
- Java题库——Chapter11 继承和多态
1)Analyze the following code: public class Test { public static void main(String[ ] args) { B b = ne ...
- SpringCloud中Feign的适配器的实现方案
前言 最近在做微服务的项目,各个系统之间需要进行调用,然后用一个适配器来实现服务之间的feign调用,使用适配器进行统一管理. 实现方案 首先我们需要将服务的名称进行单独的配置,可以方便的进行切换和扩 ...
- 详解Condition的await和signal等待/通知机制
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- GO-逻辑判断(if,else if,else,switch)
一.if逻辑判断 package main import "fmt" func main() { var a =10; if a>10 { //大括号前不能回车 fmt.Pr ...
- ie11 SCRIPT5011:不能执行已释放Script的代码
依照我遇到的问题为例: (我的页面结构为:父页面中嵌套有iframe子页面) 1.造成这种情况的原因是:父页面初始化声明变量a为数组(数组对象是引用类型,赋值传递的是地址),创建iframe子页面后给 ...
- Angular中使用bootstrap样式
Angular中使用bootstrap样式 Angular中引入bootstrap的方法 方法1:在Angular.json中的styles数组中添加bootstrap路径 如下所示: " ...
- docker 踩坑日记The last packet sent successfully to the server was 0 milliseconds ago.
The last packet sent successfully to the server was 0 milliseconds ago. 今日遇到了这个坑,看似平白无奇. 首先,我定位到是数据库 ...
- easyUI+servlet+mysql项目总结
项目介绍 利用easyUI做前端框架,进行数据展示和用户数据收集 使用servlet做后端的控制层,并调用业务逻辑组件的业务逻辑方法,处理用户请求,根据不同处理结果返回不同的结果到前端 mysql进行 ...
- ABP入门教程15 - 小结
点这里进入ABP入门教程目录 效果预览 至此,ABP入门教程的CURD(增删改查)示例已完成,效果如下 登录 首页 查询课程 新增课程 修改课程 删除课程 阶段总结 关键步骤: 领域层创建实体基础设施 ...