公司动态

C# 常用字符串与日期操作技巧大全

📅 2026/8/27 1:21:11
C# 常用字符串与日期操作技巧大全
一、日期时间操作1、DateTime 数字型System.DateTime currentTime new System.DateTime(); // 1.1 取当前年月日时分秒 currentTime System.DateTime.Now; // 1.2 取当前年 int 年 currentTime.Year; // 1.3 取当前月 int 月 currentTime.Month; // 1.4 取当前日 int 日 currentTime.Day; // 1.5 取当前时 int 时 currentTime.Hour; // 1.6 取当前分 int 分 currentTime.Minute; // 1.7 取当前秒 int 秒 currentTime.Second; // 1.8 取当前毫秒 int 毫秒 currentTime.Millisecond; // 变量可用中文1.9 取中文日期显示——年月日时分string strY currentTime.ToString(f); //不显示秒1.10 取中文日期显示_年月string strYM currentTime.ToString(y);1.11 取中文日期显示_月日string strMD currentTime.ToString(m);1.12 取中文年月日string strYMD currentTime.ToString(D);1.13 取当前时分格式为1424string strT currentTime.ToString(t);1.14 取当前时间格式为2003-09-23T14:46:48string strT currentTime.ToString(s);1.15 取当前时间格式为2003-09-23 14:48:30Zstring strT currentTime.ToString(u);1.16 取当前时间格式为2003-09-23 14:48string strT currentTime.ToString(g);1.17 取当前时间格式为Tue, 23 Sep 2003 14:52:40 GMTstring strT currentTime.ToString(r);1.18 获得当前时间 n 天后的日期时间DateTime newDay DateTime.Now.AddDays(100);二、类型转换2、Int32.Parse(变量) / Int32.Parse(常量)// 字符型转换转为32位数字型 int num Int32.Parse(123);3、变量.ToString()// 字符型转换转为字符串 12345.ToString(n); //生成 12,345.00 12345.ToString(C); //生成 12,345.00 12345.ToString(e); //生成 1.234500e004 12345.ToString(f4); //生成 12345.0000 12345.ToString(x); //生成 3039 (16进制) 12345.ToString(p); //生成 1,234,500.00%三、字符串常用操作4、变量.Length 数字型取字串长度string str 中国; int Len str.Length; //Len是自定义变量str是求测的字串的变量名5、System.Text.Encoding.Default.GetBytes(变量)字码转换转为比特码byte[] bytStr System.Text.Encoding.Default.GetBytes(str); // 然后可得到比特长度 len bytStr.Length;6、System.Text.StringBuilder()字符串相加System.Text.StringBuilder sb new System.Text.StringBuilder(); sb.Append(中华); sb.Append(人民); sb.Append(共和国);7、变量.Substring(参数1,参数2)截取字串的一部分参数1为左起始位数参数2为截取几位string s1 str.Substring(0,2);8、取远程用户IP地址String user_IP Request.ServerVariables[REMOTE_ADDR].ToString();9、穿过代理服务器取远程用户真实IP地址if (Request.ServerVariables[HTTP_VIA] ! null) { string user_IP Request.ServerVariables[HTTP_X_FORWARDED_FOR].ToString(); } else { string user_IP Request.ServerVariables[REMOTE_ADDR].ToString(); }10、Session[变量]存取Session值// 赋值 Session[username] 小布什; // 取值 Object objName Session[username]; String strName objName.ToString(); // 清空 Session.RemoveAll();11、String str Request.QueryString[变量]用超链接传送变量// 如在任一页中建超链接a hrefEdit.aspx?fbid23点击/a // 在Edit.aspx页中取值 String str Request.QueryString[fdid];四、XML 节点操作12、DOC对象.CreateElement(新建节点名)创建XML文档新节点XmlNode newNode doc.CreateElement(新建节点名);13、父节点.AppendChild(子节点)将新建的子节点加到XML文档父节点下parentNode.AppendChild(newNode);14、父节点.RemoveChild(节点)删除节点parentNode.RemoveChild(node);五、Response 输出与跳转15、Response 向页面输出Response.Write(字串); Response.Write(变量);跳转到URL指定的页面Response.Redirect(URL地址);六、字符与编码判断16、char.IsWhiteSpace(字串变量位数)——逻辑型查指定位置是否空字符string str 中国 人民; Response.Write(char.IsWhiteSpace(str, 2)); //结果为True第一个字符是0位2是第三个字符17、char.IsPunctuation(字符)——逻辑型查字符是否是标点符号Response.Write(char.IsPunctuation(A)); //返回False18、(int)字符把字符转为数字查代码点注意是单引号Response.Write((int)中); //结果为中字的代码2001319、(char)代码把数字转为字符查代码代表的字符Response.Write((char)22269); //返回国字七、字符串清理与替换20、Trim()清除字串前后空格string str 中国 ; str str.Trim();21、字串变量.Replace(子字串,替换为)字串替换string str 中国; str str.Replace(国, 央); //将国字换为央字 Response.Write(str); //输出结果为中央再如这个非常实用string str 这是script脚本; str str.Replace(, font/font); //将左尖括号替换为font 与 与 /font Response.Write(str); //显示为这是script脚本如果不替换script将不显示如果是一段脚本将运行而替换后脚本将不运行。这段代码的价值在于你可以让一个文本中的所有HTML标签失效全部显示出来保护你的具有交互性的站点。// 具体实现将你的表单提交按钮脚本加上下面代码 string strSubmit label1.Text; //label1是你让用户提交数据的控件ID strSubmit strSubmit.Replace(, font/font); // 然后保存或输出strSubmit // 用此方法还可以简单实现UBB代码八、数学与字符串比较22、Math.Max(i,j)取i与j中的最大值int x Math.Max(5, 10); // x将取值 1023、字串对比一般都用if(str1str2){ }但还有别的方法// (1)、检测字串str1是否以字串str2结尾返回布尔值 string str1; string str2; if (str1.EndsWith(str2)) { Response.Write(字串str1是以 str2 结束的); } // (2)、检测字串str1是否与字串str2相等返回布尔值 str1.Equals(str2); // (3)、检测字串str1是否与字串str2相等返回布尔值 Equals(str1, str2);九、字符串查找与插入24、IndexOf()、LastIndexOf()查找字串中指定字符或字串首次最后一次出现的位置返回索引值str1.IndexOf(字); //查找字在str1中的索引值位置 str1.IndexOf(字串); //查找字串的第一个字符在str1中的索引值位置 str1.IndexOf(字串, 3, 2); //从str1第4个字符起查找2个字符查找字串的第一个字符在str1中的索引值位置25、Insert()在字串中指定索引位插入指定字符str1.Insert(1, 字); //在str1的第二个字符处插入字如果str1中国插入后为中字国十、字符串填充与删除26、PadLeft()、PadRight()在字串左或右加空格或指定char字符使字串达到指定长度string str1 中国人; str1 str1.PadLeft(10, 1); //无第二参数为加空格 Response.Write(str1); //结果为1111111中国人字串长为1027、Remove()从指定位置开始删除指定数的字符string str1 我是萨达姆的崇拜者之一; Response.Write(str1.Remove(5, 4)); //结果为我是萨达姆之一十一、字符串分隔补充以下为补充摘抄string s abcdeabcdeabcde; string[] sArray s.Split(c); foreach (string i in sArray) Console.WriteLine(i.ToString()); // 输出deab deab de string s abcdeabcdeabcde; string[] sArray1 s.Split(new char[3]{c,d,e}); foreach (string i in sArray1) Console.WriteLine(i.ToString()); // 输出ab ab使用正则表达式分隔// Main() 中 // System.Text.RegularExpressions string content agcsmallmacsmallgggsmallytx; string[] resultString Regex.Split(content, small, RegexOptions.IgnoreCase); foreach (string i in resultString) Console.WriteLine(i.ToString()); // 输出下面的结果agc mac ggg ytx使用正则表达式有什么好处呢别着急后面我们会看到它的独特之处。下面介绍第4种方法。比如string str1 我*****是*****一*****个*****教*****师; // 如果我希望显示为我是一个教师如何作呢我们可以使用下面代码 string[] str2; str1 str1.Replace(*****, *); str2 str1.Split(*); foreach (string i in str2) Console.WriteLine(i.ToString()); // 这样也可以得到正确结果。但是比如 string str1 我**是*****一*****个*****教*****师; // 我希望显示的结果为我是一个教师。 // 我如果采用上面的第四种方法来做就会产生下面的错误我 是一个教师 // 中间有空格输出所以输出结果并不是我希望的结果如何解决呢 // 这时可以采用下面的第五种方法 string str1 我**是*****一*****个*****教*****师; string[] str2 System.Text.RegularExpressions.Regex.Split(str1, [*]); foreach (string i in str2) Console.WriteLine(i.ToString()); // 这里通过[*]巧妙的完成了我们的目标十二、字符串分隔的三种方式1、用字符串分隔string str aaajsbbbjsccc; string[] sArray Regex.Split(str, js, RegexOptions.IgnoreCase); foreach (string i in sArray) Console.Write(i.ToString() /n);输出结果aaa bbb ccc2、用多个字符来分隔string str aaajbbbscccjdddseee; string[] sArray str.Split(new char[2]{j,s}); foreach (string i in sArray) Console.Write(i.ToString() /n);输出结果aaa bbb ccc ddd eee3、用单个字符来分隔string str aaajbbbjccc; string[] sArray str.Split(j); foreach (string i in sArray) Console.Write(i.ToString() /n);输出结果aaa bbb ccc