以日期为文件名的自动存储问题
我们在做数据存储时,可能会以文件的形式将一些数据记录在磁盘上,如日志等,我们假设要将每个日志时间都单独存储(也许没有必要),那么最好就是以存储的时间(包括分秒)为文件名存储,这样方便管理,也不会出现覆盖原有数据的情况。这时我们自然会想到类库:System.DateTime.Now.ToString()(它是个属性,不是方法所以不能写成```.Now()),再将它作为参数传给存储文件的方法。但是当你这样做时,会出现一个令你老火的事情:System.DateTime.Now返回的是这样的时间格式:“year-month-day 0:00:00”注意这2个“:”
你再去查一下WINDOWS的文件名约定,是不允许在文件名中出现“:”的,所以得用到一个字符串的方法:Replace() 也就是说我们要给存储文件的方法传递这样一个参数:
System.DateTime.Now.ToString().Replace(":","-")
然后就OK了!
![](http://badnewfish.spaces.live.com/mmm2006-08-07_14.03/rte/emoticons/smile_shades.gif)