不同格式日期的总和。C#

不同格式日期的总和。C#,第1张

不同格式日期的总和。C#

在中

C#
,提供了许多方法将包含多种格式的日期时间的字符串转换为统一
DateTime
对象。这些方法可以识别很多标准日期时间格式,如果您与它们不同,您甚至可以提供自己的格式。

  • DateTime.Parse()
    -将字符串转换为
    DateTime
    对象。如果 *** 作失败,它将引发异常。
  • DateTime.TryParse()
    - 仅在可能时 将字符串转换为
    DateTime
    对象。如果成功则返回,如果失败则返回。 __
    true``false
  • DateTime.TryParseExact()
    -将指定格式的字符串转换为
    DateTime
    对象。
    true
    如果成功则返回,
    false
    否则返回。

在您的情况下,您可以这样使用

DateTime.TryParse()
DateTime.Parse()
除非您绝对确定格式正确,否则建议使用简单的做法,而不是简单地使用它):

var dtStr1 = " 2019. 09. 23. 14:54:23";var dtStr2 = "2019.09.23 14:54:23";var dtStr3 = "2019-09-23 14:54:23";DateTime.TryParse(dtStr1, out DateTime dt1);DateTime.TryParse(dtStr2, out DateTime dt2);DateTime.TryParse(dtStr3, out DateTime dt3);

一旦转换为

DateTime
对象,它就不再具有与之关联的格式。这是个
structure
,因此只有成员变量和方法。因此,要计算总时数等,可以使用提供的方法。

假设您要计算一天工作开始到结束之间的时间。您可以将它们转换为

DateTime
对象,然后从其他对象中减去一个对象,这将为您提供一个
TimeSpam
对象。

var dtStrStart = "2019.09.23 08:23:12";var dtStrEnd = "2019.09.23 16:17:28";DateTime.TryParse(dtStrStart, out DateTime dtStart);DateTime.TryParse(dtStrEnd, out DateTime dtEnd);var diff = dtEnd - dtStart;

现在

TimeSpan
diff
此处的对象将为您提供一堆具有小时,分钟等差异的属性。

TimeSpan.Days
TimeSpan.Minutes
等会给你在天,分钟等时间

Console.WriteLine(diff.Days);Console.WriteLine(diff.Hours);Console.WriteLine(diff.Minutes);Console.WriteLine(diff.Seconds);Console.WriteLine(diff.Milliseconds);

输出:

0

7

54

16

0

TimeSpan.TotalMinutes
等会给你在各个单元的整个时间段。

Console.WriteLine(diff.TotalDays);Console.WriteLine(diff.TotalHours);Console.WriteLine(diff.TotalMinutes);Console.WriteLine(diff.TotalSeconds);Console.WriteLine(diff.TotalMilliseconds);

输出:

0.329351851851852

7.90444444444444

474.266666666667

28456

28456000

相反,当您在数据库中存储数据时,必须再次使用标准格式,例如

datetime
datetime2



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5051512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存