前言
做过VB开发的都知道,有一些VB里面的好的函数在.NET里面都没有,而Microsoft.VisualBasic.dll却给我们提供使用这些函数的功能(没用过VB的这些功能一样可以使用,大同小异而已)
今天这里主要讲两个:一个是繁简转换,另一个是计算时间差,相信大家都有方法实现这两个功能,而我今天讲的却是只各需一句代码就实现这两个功能!
功能一:繁简转换
首先需要引用Microsoft.VisualBasic.dll,废话不多说直接上代码
using Microsoft.VisualBasic; string str="悲梦"; //简体转繁体 str=Strings.StrConv(str, VbStrConv.TraditionalChinese, 1033); //繁体转简体 str=Strings.StrConv(str, VbStrConv.SimplifiedChinese, 1033);
String.StrConv 的說明:
第一个参数是待转换的字符串;
第二个参数是欲转换的字体的枚举值;
第三个参数是文字转换后,最后对应的编码格式(LocaleID);
1028 繁体中文
1033 ASCII
2052 简体中文
為何不管繁体转简体还是简体转繁体我都用 1033 呢?
首先,要先知道,有些简体中文的编码值是在繁体中文中对应不到任何字的。此时,显示的字就会是 "?" 号。
因为 2052 的 「 国] 已经是简体字了,转换到繁体时,刚好其编码对应不到1028 的编码,因此会是问号。
最好的方式,是以 en-US(美国) 作为编码格式。当以 en-US 作为最后的编码格式后,又遇到亚洲字时,就会以 unicode 作为储存编码格式。此时刚好与 .net 的 string 储存格式相同。这样就解决了问题!
因此,当我们在做繁简转换时,请将第三个参数都设成 1033
功能二:时间差计算
相信大家都有计算两个时间的时间差,有可能是计算相差的天数、小时、分钟、秒,这些我们都可以通过一句代码来实现,先上代码
using Microsoft.VisualBasic; //可以得到dt=50 long dt = DateAndTime.DateDiff(DateInterval.Hour, DateTime.Now, DateTime.Now.AddHours(50));
DateAndTime.DateDiff说明:
第一个参数是需要得到的时间差的形式的枚举值;可以是天数,小时,分钟,秒数等
第二个参数就是减的时间值;
第三个参数就是被减的时间值;
结束语
以上两个功能看起来都很简单,但是如果不借助Microsoft.VisualBasic.dll的话实现起来还是挺麻烦的,用以上的方法实现起来既方便又准确!大家觉得好的话,推荐一下哦!