如何将日期转换为8位整数?

时间:2012-02-14 05:14:32

标签: c# vb.net visual-studio

如何将Date 02/14/2012转换为此格式'20120214'?

我想将数据库中的日期保存为整数,因为它似乎更灵活。

6 个答案:

答案 0 :(得分:7)

试试这个:

DateTime date = new DateTime(2012, 02, 14);
string toDb = date.ToString("yyyyMMdd");

<强>更新 哦,因为有评论我敦促你使用数据库引擎而不是字符串格式在数据库中使用DateTime字段。将日期时间存储为文本不灵活。某些引擎(如Sqlite)不支持日期时间字段,但大多数引擎都支持日期时间字段。对datetime使用字符串格式会强制您在需要从db获取值或将其保存到db时应用手动解析和转换。一旦导致很难找到的bug,很容易忘记它。使用datetime字段时,您无需记住它。

答案 1 :(得分:1)

请尝试。

string[] dtPart = "02/14/2012".Split('/');

DateTime dt = new DateTime(int.Parse(dtPart[2]), int.Parse(dtPart[0]), int.Parse(dtPart[1]));
 int result = int.Parse(dt.ToString("yyyyMMdd"));

答案 2 :(得分:1)

DateTime.Now.ToString( “年月日”);然后根据需要使用Convert.ToUInt32转换为整数。

但我认为DateTime类型比数据库中的整数或字符串更好。然后根据需要格式化DateTime。

答案 3 :(得分:0)

使用String.Format()功能

有关String.Format() http://www.csharp-examples.net/string-format-datetime/

的更多信息

答案 4 :(得分:0)

您可以在.ToString上为DateTime实例使用自定义DateTime格式字符串:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

dateTime.ToString("yyyyMMdd")

然而,几乎所有数据库都有一种方法可以将日期存储为日期而不是字符串,您可能需要对此进行调查。如果您在日期执行数学运算,将日期保留为日期数据类型将有助于避免潜在的本地化问题和其他日期相关问题。

答案 5 :(得分:0)

使用.ToString("yyyMMdd")

试试这个:

Msgbox(Now.ToString("yyyMMdd"))