日期及字符串操作

news/2024/7/24 6:31:59 标签: runtime, c#

1. 酒店门锁接口调用外边dll里函数参数传入错误引发 ,StartGenerateReportTask: System.Runtime.InteropServices.SEHException: 外部组件发生异常。 

2. 日期处理

方法一:Convert.ToDateTime(string)

string格式有要求,必须是yyyy-MM-dd hh:mm:ss

================================================

方法二:Convert.ToDateTime(string, IFormatProvider)

DateTime dt;

DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();

dtFormat.ShortDatePattern = "yyyy/MM/dd";

dt = Convert.ToDateTime("2011/05/26", dtFormat);

================================================

方法二:DateTime.ParseExact()

string dateString = "20110526";

DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);

或者

DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);

string mm =  DateTime.Now.ToString("yyyy-MM-dd-ss");

mm = “2006-07-01-06”;

日期格式:yyyyMMdd HH:mm:ss(注意此字符串的字母大小写很严格)
yyyy:代表年份
MM:  代表月份
dd:  代表天
HH:  代表小时(24小时制)
mm:  代表分钟
ss:  代表秒

 

计算2个日期之间的天数差 
----------------------------------------------- 
DateTime dt1 = Convert.DateTime("2007-8-1"); 
DateTime dt2 = Convert.DateTime("2007-8-15"); 
TimeSpan span = dt2.Subtract(dt1); 
int dayDiff = span.Days + 1; 
计算某年某月的天数 
----------------------------------------------- 
int days = DateTime.DaysInMonth(2007, 8); 
days = 31; 
给日期增加一天、减少一天 
----------------------------------------------- 
DateTime dt =DateTime.Now; 
dt.AddDays(1); //增加一天 
dt.AddDays(-1);//减少一天 

 

3.字符串截取

substring方法

返回位于 String 对象中指定位置的子字符串。

strVariable.substring(startend)
"String Literal".substring(startend)

参数

start

指明子字符串的起始位置,该索引从 0 开始起算。

end

指明子字符串的结束位置,该索引从 0 开始起算。

说明

substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。

substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如,strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。

如果 start 或 end 为 NaN 或者负数,那么将其替换为0。

子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。

 

 

有时候,为了让格式统一,当位数不足时,给予补足。比如:2012-01-01 13:42:05,这其中就对月、日、秒进行了补位。比如IC卡写操作要求写入32位的字符,要存入的信息不满足位数是需要补字符的操作。

在 C# 中可以对字符串使用 PadLeft 和 PadRight 进行补位。

PadLeft(int totalWidth, char paddingChar) //在字符串左边用 paddingChar 补足 totalWidth 长度

PadRight(int totalWidth, char paddingChar) //在字符串右边用 paddingChar 补足 totalWidth 长度

示例:

 a= a.PadLeft(32,  '0');

注意第二个参数为 char 类型,所以用单引号,也可以用 Convert.ToChar(string value) 把字符串转换成 char 类型。如果字符串长度大于 1,则使用 str.ToCharArray()[index]。

 

转载于:https://www.cnblogs.com/ProgrammerGE/archive/2013/01/03/2833158.html


http://www.niftyadmin.cn/n/1155274.html

相关文章

关于入职思考

我觉的对我有帮助 一方面,请他们向你介绍工作上和他们合作的流程,另一方面,你可以通过问一些有针对性的问题,让他们看出你对公司的融入。记住,千万不要问那些大而空的问题,比如咱们公司的文化是怎么样的啊&…

视频交流网站技术

一、视频交流技术发展历程1、 C/S结构的视频交流软件或插件。这是最早的视频交流开发技术,已经被淘汰。2、 P2P模式的视频交流软件或插件。这是前几年以及目前很多大型视频交流项目的主要使用技术。也是很多小型视频交流室使用的技术。3、 基于P2P模式C/S模式混合。…

行为型模型 观察者模式

行为型模型 观察者模式 Subject(被观察者) 被观察的对象。当需要被观察的状态发生变化时,需要通知队列中所有观察者对象。Subject需要维持(添加,删除,通知)一个观察者对象的队列列表。 …

vue命名规范

组件名应该以高级别的 (通常是一般化描述的) 单词开头,以描述性的修饰词结尾。 完整单词的组件名

作业07-Java GUI编程

1. 本周学习总结 1.1 思维导图:Java图形界面总结 1.2 可选:使用常规方法总结其他上课内容。 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词。 事件源:能够产生事件的GUI组件。 事件监听器:可以处理触发…

单击COM+应用程序报错:错误代码8004E00F

http://zhidao.baidu.com/question/149377578.html(1)打开COM应用程序时出现8004E00F -COM 无法与 Microsoft 分布式事务协调程序交谈在开绐—>运行 中依次输入下列三行命令:1、停止MSDTC服务:net stop msdtc2、卸载MSDTC服务:msdtc -unin…

elementde全选添加如果存在就跳过, 取消 如果存在删除

获取原来的数组 然后判断是添加还是取消 添加的话 判断没有的话直接添加到新的 (这用的是字符串也可以是数组) rows.forEach(item > {let is iscontain(arrLicence, item.license);if (is false) {newstr item.license ",";}}); 取…

vue-resource

一、vue-resource使用 vue-resourse 在vue中实现发送ajaxvue-resource和vue之间的关系就相当于jQuery插件和jQuery1,百度vue-resource------->cnd------->复制地址------>打开2,bower install vue-resource 1、$http.get(url,[options])url Str…