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工具类中字符串左侧补齐的方法,示例如下: //左侧补齐 第一个参数:原始字符串,第二个 ...
随机推荐
- Electron桌面项目-解决throw new Error('Electron failed to install correctly, please delete node_modules..
前言 Electron 是一个用 HTML,CSS 和 JavaScript 来构建跨平台桌面应用程序的一个开源库.由GitHub开发的. 其原理是 Electron 通过将 Chromium 和 N ...
- go语言之数据类型和格式化输出
1.数据类型 package main import ( "fmt" "reflect" ) func main() { //整形 var v1 int32 v ...
- idea实战技巧
一.背景 为什么想写这个,因为编码一线更多的是实战,实战中,可能一个快捷键,一个小技巧,就能省很多时间. 本文会持续记录,持续更新. 二.技巧 1.全局替换(带正则) 场景是: 多profile的情况 ...
- ASP.NET中的身份验证
身份验证方式windows passport form none授权allow 允许deny 拒绝特殊符号 *代表所有用户 ?代表匿名用户跳转配置<system.web><autho ...
- Kafka简明教程
作者:柳树之 www.jianshu.com/p/7b77723d4f96 Kafka是啥?用Kafka官方的话来说就是: Kafka is used for building real-time d ...
- [错误]Caused by: org.apache.spark.memory.SparkOutOfMemoryError: Unable to acquire 65536 bytes of memory, got 0
今天,在运行Spark SQL代码的时候,遇到了以下错误: Caused by: org.apache.spark.SparkException: Job aborted due to stage f ...
- [CrackMe]160个CrackMe之015
吾爱破解专题汇总:[反汇编练习]160个CrackME索引目录1~160建议收藏备用 一.破解 该破解比较简单,其是一个静态密码 2G83G35Hs2 ,输入进去即可破解. 1)栈定位法找到用户代码 ...
- C# 管道通信 (client —— server)Framework2.0版本也可用
//管道服务类public class PipServer { [DllImport("kernel32.dll", SetLastError = true)] public st ...
- 在ASP.NET Core 3.0中使用Swagger
1.使用NuGet安装以下依赖: Swashbuckle.AspNetCore 注:版本选最高版本的,我选 5.0 rc4 2.在ConfigureServices添加以下代码 services.Ad ...
- git合并多次commit提交
在开发项目工程中经常会遇到为了一个需求产生多次提交记录.有些是可以接受的,比如按照功能点不同进行的提交.但往往会存在这种,只为了一个小东西进行改动,比如多余文件的提交.书写不规范而不得不提交的情况.多 ...