【发布时间】:2016-04-09 09:48:59
【问题描述】:
我是 C# 新手。
我有一个包含“marketDate”字段(数据类型 Date)的 SQLite 表,并且我正在使用 SQLiteDataReader。
我需要这样构建一个字符串:MONDAY 2016-01-03
到目前为止,我已经找到了两种方法:
1)
myString = (DateTime.Parse(reader["marketDate"].ToString())).ToString("dddd").ToUpper() + " " + (DateTime.Parse(reader["marketDate"].ToString())).ToShortDateString();
2)
myString = ((DateTime)reader["marketDate"]).ToString("dddd").ToUpper() + " " + ((DateTime)reader["marketDate"]).ToShortDateString();
我想知道哪种方法是最好的方法(最佳实践),如果有人能解释一下两种方法 datetime.parse 和(日期时间)对象)。我找不到关于第二个的任何信息。
谢谢
【问题讨论】:
-
如果你知道数据库类型是 DateTime 我会建议像你的第二个例子一样直接转换。但是你不需要两个演员 ((DateTime)reader["marketDate"]).ToString("dddd yyyy-MM-dd").ToUpper() 会为你工作。
-
看签名,
DateTime.Parse(str)取一个string,(DateTime)obj取一个object,实际上是一个日期。如果你已经有一个DateTime,在这种情况下,最好直接转换它,而不是先用ToString()将DateTime转换为string,然后再将其解析回DateTime。
标签: c# sqlite datetime date-conversion