c# - 如何在 ASP.Net 中切割日期时间数据类型

标签 c# asp.net datetime

我有一个日期时间数据类型 12/30/2015 11:30:00 AM 所以,在 SQL 服务器上,它将是 fromDate.ToString ("yyyy-MM- dd HH: mm tt") 结果是 2016-01-01 12: 30: 00,000 并且我只想将字符串数据部分剪切为几天、几小时和几分钟

最佳答案

改变你的

.ToString ("yyyy-MM-dd HH: mm tt") 
//showing: year (yyyy), month (MM), day of month (dd), hour (HH), minute (mm), and "The AM/PM designator" (tt)

.ToString ("dd HH:mm")
//showing: day of month (dd), hour (HH), and minute (mm) only

More关于 DateTime 格式,您可能会发现它非常有用。解释是用方便的样本给出的,非常完整。

编辑:

要从 SQL 解释此类文本数据,请使用 .Substring(int index, int length)

string text = sqltext.Substring(("2016-01-").Length, 9); //the 9 must be from your days to your minutes. If the text string is shorter/longer, change this value

这里是对两个Substring参数的解释:

  1. index 参数从文本的 0 偏移量开始。

    假设您的文本是 2016-01-01 12:30:00,000 那么 index = 0 将指向第一个 2index = 1 到第一个 0 等等。要获取日期部分的第一个数字 0,根据您的输入,您需要有 7 的索引。但更简单的方法来确定 index 是通过获取 all string before 你想要的位置并捕获它的 长度(这是我显示的:“2016-01-”)。长度

  2. length 参数给出了您要从 index 点向前获取的字符数。

    因为你想要 01 12: 30 包含总共 9 个字符(注意你的 white spaces)你应该把 9。或者你也可以通过放置 ("01 12: 30").Length 来更通用:

    string text = sqltext.Substring(("2016-01-").Length, ("01 12: 30").Length);
    

Mr. James 的补充说明(见评论):“请注意,为这个答案给出的“天数”是 day of the month ,在任何情况下都不能超过 31 ......如果你想要从某个基准日期开始的天数,你会必须执行 DateTime 减法并使用 TimeSpan.ToString。”

关于c# - 如何在 ASP.Net 中切割日期时间数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34522927/

相关文章:

C# 如何创建日期和时间范围?

c# - 操纵事件和平移模式

c# - 没有接口(interface)和抽象的存储库 = 畸变?

c# - 我如何解释此 C# 堆栈跟踪?零行错误

c# - 从不同页面上的 javascript 调用页面的 web 方法

linux - SQLite 中的负日期

c# - 为什么我不能在 C# 中使用抽象静态方法?

c# - 在服务中使用 Task.Run 作为同步方法

asp.net - 更新面板问题

objective-c - 12 小时模式的 NSDateFormatter