我最近作的一个项目出现了下面这样的bug。(实际代码比这个复杂的多,这里只是演示这个bug的产生。)
DateTime dt1 = new DateTime(2005,5,31,15,31,00);
string strDateTime = dt1.ToString("u");
// ...... 一些数据传递操作
DateTime dt2 = DateTime.Parse(strDateTime);
int h = dt2.Hour;
DateTime类型的变量被转换成字符串,然后这个字符串又到处传递,走了很复杂的路,在接受方接受到这个字符串后,并再转换为DateTime格式,这时候两个时间的小时数不一样了。
上面演示中,dt1的 Hour 是 15 ,dt2 的 Hour 是 23。 进而造成我所碰到的这个bug。
解决方法,
DateTime dt1 = new DateTime(2005,5,31,15,31,00);
string strDateTime = dt1.ToString("u");
DateTime dt2 = DateTime.Parse(strDateTime, null,
System.Globalization.DateTimeStyles.AdjustToUniversal);
int h = dt2.Hour;
或者
DateTime dt1 = new DateTime(2005,5,31,15,31,00);
string strDateTime = dt1.ToString();
DateTime dt2 = DateTime.Parse(strDateTime);
int h = dt2.Hour;
我猜想原因应该是:
我本机日期设置是某种格式,我转换为字符串的时候,用了不是我本机的这种格式(使用了UniversalSortableDateTimePattern 这种格式( using the format for universal time display )),而转换回去的时候,确用了本机默认格式,就造成了这个问题。解决方法就是通用一个识别格式。
今天在打开一个别人的程序的时候,老是提示我要连接源代码管理服务器,这个程序用到的源代码服务器我当然连接不上,看着很不爽,就开始删除源代码管理信息。
在删除了解决方案目录、各个项目目录下的:
mssccprj.scc 、工程名.vssscc、vssver.scc 、项目名.csproj.vspscc
这四类文件后,打开项目仍然报没删除干净,报下面错误。
The solution appears to be under source control, but its binding information cannot be found. It is possible that the MSSCCPRJ.SCC file or another item that holds the source control settings for the solution, has been deleted. Because it is not possible to recover this missing information automatically, the projects whose bindings are missing will be treated as not under source control.
再去每个项目文件 项目名.csproj 文件,我们可以在开头部分看到类似下面的代码:
<CSHARP
ProjectType = "Web"
ProductVersion = "7.10.3077"
SchemaVersion = "2.0"
ProjectGuid = "{2CBB68B7-FE78-4CEF-981B-6A0529A32889}"
SccProjectName = "SAK"
SccLocalPath = "SAK"
SccAuxPath = "SAK"
SccProvider = "SAK"
>
删除下面的配置信息:
SccProjectName = "SAK"
SccLocalPath = "SAK"
SccAuxPath = "SAK"
SccProvider = "SAK"
OK,这个世界清静了,每次打开解决方案,不会都看到烦人的提示源代码信息了。
整理一下,要删除VSS6 的源代码管理信息,
我们要删除解决方案目录下,和各个项目目录下的 以下四类文件:
mssccprj.scc 、工程名.vssscc、vssver.scc 、项目名.csproj.vspscc
同时要修改 项目名.csproj 文件,把其中的VSS配置信息删除,即可。
在以前,如果一家网站被用户上传了别人享有著作权的作品,这家网站有可能被著作权人起诉,从而面临一场官司。但在5月30日《互联网著作权行政保护办法》实施后,只要这家网站在著作权人向其发出通知后能及时将内容移除,网站就可以“免责”从而逃过官司。 罚款:最高可达10万。
这个新规定,从今天5月30日开始执行。有关这个法规请参看:
http://www.ncac.gov.cn/servlet/servlet.info.RulesServlet?action=list
摘抄其中一段法规:
第五条 著作权人发现互联网传播的内容侵犯其著作权,向互联网信息服务提供者或者其委托的其他机构(以下统称“互联网信息服务提供者”)发出通知后,互联网信息服务提供者应当立即采取措施移除相关内容,并保留著作权人的通知6个月。
第六条 互联网信息服务提供者收到著作权人的通知后,应当记录提供的信息内容及其发布的时间、互联网地址或者域名。互联网接入服务提供者应当记录互联网内容提供者的接入时间、用户帐号、互联网地址或者域名、主叫电话号码等信息。
前款所称记录应当保存60日,并在著作权行政管理部门查询时予以提供。
第七条 互联网信息服务提供者根据著作权人的通知移除相关内容的,互联网内容提供者可以向互联网信息服务提供者和著作权人一并发出说明被移除内容不侵犯著作权的反通知。反通知发出后,互联网信息服务提供者即可恢复被移除的内容,且对该恢复行为不承担行政法律责任。
具体就是在 (信息产业部令第33号)
《非经营性互联网信息服务备案管理办法》(2005年3月20日) 中规定的。
包括博客堂这类的,也在这个管理条例之列。
具体请参看:http://www.china.org.cn/chinese/zhuanti/792313.htm
下面摘抄几条对个人网站来说重要的内容:
第七条拟从事非经营性互联网信息服务的,应当通过信息产业部备案管理系统如实填报《非经营性互联网信息服务备案登记表》(以下简称“《备案登记表》”,格式见本办法附录),履行备案手续。
第十三条非经营性互联网信息服务提供者应当在其网站开通时在主页底部的中央位置标明其备案编号,并在备案编号下方按要求链接信息产业部备案管理系统网址,供公众查询核对。
第二十八条在年度审核时,非经营性互联网信息服务提供者有下列情况之一的,由其住所所在地的省通信管理局通过信息产业部备案系统等媒体通告责令其限期改正;拒不改正的,关闭网站并注销备案:
(一)未在规定时间登陆备案网站提交年度审核信息的;
(二)新闻、教育、公安、安全、文化、广播电影电视、出版、保密等国家部门依法对各自主管的专项内容提出年度审核否决意见的。