日期:2014-05-20  浏览次数:20797 次

c# Datetime保存数据时如何保存毫秒?读取GB2312数据如何读取?
有两个问题请教:

问题一:Datetime如何保存毫秒?
c# 新建了一个Dateset数据集,新建的Datatable中一个字段Time数据类型为System.DateTime。写入数据时, sudu.timesudu.Rows.Add("2008-08-08 00:00:01.021", "1");在查看rows结果就变成了“2008-08-08 00:00:01”没有毫秒。
数据在使用的时候不能转成String 必须是DateTIME类型的。
C# code

 string s1 = "2008-08-08 00:00:01.021";            
 DateTime dt = DateTime.Parse(s1);
//或者
 DateTime dt1 = DateTime.Now;


都是无法保存毫秒的,请问如何保存毫秒?是做汽车行驶记录仪使用,汽车行驶记录仪设备记录了每0.2毫秒一条数据,需要将这个数据读取并线性图表显示。



问题二:如何读取GB2312格式的数据?
汽车行驶记录仪设备写入一个txt文件中,数据是GB2312的,C#程序如何读取该文件数据?

C# code
 fs = new FileStream(DataFilePath, FileMode.Open);
                        StreamReader sr = new StreamReader(fs, Encoding.Default);     
       string value = sr.ReadToEnd();


这样写能够读取汉字,但是行驶记录仪里的这个数据读不出来。读出来是乱码。请问如何才能读出来?是否需要先将GB2312转换城UTF-8或者其他?行驶记录仪数据是硬件生成的。

Google

------解决方案--------------------
using (StreamReader Reader = new StreamReader(@"d:\Doubt.txt", System.Text.Encoding.GetEncoding("GB2312")))
{

string con = Reader.ReadToEnd();

byte[] bytes = System.Text.Encoding.GetEncoding("GB2312").GetBytes(con);

Reader.Close();
}
读取的内容在bytes中,是10进制的。我已经于ultraedit的值对过了前3个。