相关疑难解决方法(0)

计算两个日期之间的差异(天数)?

我看到这个问题已经解决了Java,JavaScriptPHP,但不是C#.那么,如何计算C#中两个日期之间的天数呢?

c# date

1023
推荐指数
9
解决办法
108万
查看次数

格式化TimeSpan与岁月

我有一个有2个日期属性的类:FirstDayLastDay. LastDay是可以为空的.我想以格式生成一个字符串"x year(s) y day(s)".如果总年数小于1,我想省略年份部分.如果总天数小于1,我想省略日期部分.如果年份或天数为0,则应分别说"天/年",而不是"天/年".

示例:
2.2年:"2年73天"
1.002738年:"1年1
天"0.
2年:" 73天" 2年:"2年"

我有什么作品,但它很长:

private const decimal DaysInAYear = 365.242M;

public string LengthInYearsAndDays
{
    get
    {
        var lastDay = this.LastDay ?? DateTime.Today;
        var lengthValue = lastDay - this.FirstDay;

        var builder = new StringBuilder();

        var totalDays = (decimal)lengthValue.TotalDays;
        var totalYears = totalDays / DaysInAYear;
        var years = (int)Math.Floor(totalYears);

        totalDays -= (years * DaysInAYear);
        var days = (int)Math.Floor(totalDays);

        Func<int, string> sIfPlural = value =>
            value > …
Run Code Online (Sandbox Code Playgroud)

.net c# formatting timespan .net-4.5

21
推荐指数
2
解决办法
3万
查看次数

如何计算年,月,日的人的年龄?

我想计算出生日期的人的年龄和相对于当前日期的年,月和日的当前日期.

例如:

>>> calculate_age(2008, 01, 01)
1 years, 0 months, 16 days
Run Code Online (Sandbox Code Playgroud)

任何指向算法的指针都将受到赞赏.

algorithm math datetime

19
推荐指数
1
解决办法
6万
查看次数

Nodatime计算X天的年/月/日

假设我有678天,如何计算从那一刻起有多少年,几个月和几天?

Duration duration = Duration.FromStandardDays(678);
Instant now = SystemClock.Instance.Now;
Instant future = now + duration;

// I have to convert NodaTime.Instant to NodaTime.LocalDate but don't know how

Period period = Period.Between(now, future);
Console.WriteLine("{0} years, {1} months, {2} days", period.Years, period.Months, period.Days);
Run Code Online (Sandbox Code Playgroud)

c# nodatime

3
推荐指数
2
解决办法
1599
查看次数

标签 统计

c# ×3

.net ×1

.net-4.5 ×1

algorithm ×1

date ×1

datetime ×1

formatting ×1

math ×1

nodatime ×1

timespan ×1