我想以这样的格式在db中插入日期和时间:
“2013年5月20日5:45”
如果我想在2分钟之前,刚刚或6个月前等格式展示它,我该怎么做.. :)
任何人都可以建议我如何做到这一点,
提前致谢。
答案 0 :(得分:1)
虽然将日期/日期时间数据存储为字符串是完全错误的,但您可以使用ToString
重载来指定格式:
var stringedDate = DateTime.Now.ToString("dd MM',' yyyy 'at' H':'mm");
答案 1 :(得分:1)
存在数据库以存储数据并让您询问和回答有关它们的问题。应用程序来来去去;数据可能永远存在。那么,你会问什么样的问题?当然,我们不知道问题域,所以这些只是猜测。
我们在过去7天内完成了多少订单?
SELECT COUNT(*) "Orders last week" FROM ORDERS
WHERE
orderDate >= SYSDATE - 7 -- Oracle code
如果您已将日期转换为字符串,则无法执行此操作。
谁有过期的图书馆书籍?哪些?
SELECT u,id, u.first_name, u.last_name, b.id, b.book_name
FROM User u
JOIN Book b ON u.id = b.borrower_id
WHERE b.due_date < SYSDATE
AND b.returned = 0 -- Oracle doesn't have "BOOLEANS" yet.
你可以做日期算术;在日期数据中添加或减去数字会给出许多天或更早的日期。有些功能可以提供“日期之后的下一个星期二”或“一年中的第一个”。您将日期存储为字符串可以为您关闭所有内容。
假设您需要格式化您公司法国部门的日期。你能用你的日期字符串吗?保留应用程序的格式,而不是数据库。
这是模型 - 视图 - 控制器架构重要性的一个例子。模型(包含数据的部分)应独立于任何特定应用程序,因此它可以与任何应用程序一起使用,数据库当然是模型的一部分。
我不知道C#,但SQL-Server中存在类似的代码,我猜你使用它。