Equivalent in C# of PHP's date_create()->format()?
在PHP中,可以这样做:
1 | date_diff(date_create('2013-01-27 22:14:44 UTC'), date_create(date('Y-m-d H:i:s e')))->format('%y year(s), %m month(s), %d day(s), %H hour(s), %i minute(s) and %s second(s)') |
从一个日期开始计算年、日、月等的数量,而不仅仅是其中一个日期。在C语言中也有这样的方法吗?抱歉问这么短的问题
在c_中,从另一个对象中减去一个
编辑:一个问题是TimeSpan没有年份或月份格式字符串。如图所示,您可能希望使用@jonsket的noda时间。
在C中做的事情要简单得多,您只需在两个日期时间上使用减法运算符,其结果是一个时间跨度,其中包含差异的天数、小时、分钟和秒数。
1 2 | DateTime date1 = new DateTime(2013, 01, 27, 22, 14, 44, 00, DateTimeKind.Utc); TimeSpan diff = date1 - DateTime.Now; |
然后,您可以通过多种方式格式化输出,有关更多格式选项,请参阅此处。
1 | string output = String.Format("{0:dd} day(s), {0:hh} hour(s), {0:mm} minute(s) and {0:ss} second(s)", diff); |
号