以修剪的方式获取日期和时间

时间:2013-06-22 10:29:33

标签: c# sql

我想以这样的格式在db中插入日期和时间:

“2013年5月20日5:45”

如果我想在2分钟之前,刚刚或6个月前等格式展示它,我该怎么做.. :)

任何人都可以建议我如何做到这一点,

提前致谢。

2 个答案:

答案 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中存在类似的代码,我猜你使用它。