9

指定された日付から1年間の残りの合計日数を取得したい..ユーザーが指定した場合04-01-2011(MM-DD-YYYY)、残りの日数を検索したいとします。これを行う方法..

4

6 に答える 6

25

日付が今日だとしましょう:

var user = "05-08-2012";
var date = DateTime.ParseExact(user, "MM-dd-yyyy", System.Globalization.CultureInfo.InvariantCulture);
var lastdate = new DateTime(date.Year, 12, 31);
var diff = lastdate - date;

diff.TotalDays日数が含まれています(@Tungに感謝)。lastdateその年の最後の日付も含まれています。

于 2012-05-08T09:19:18.557 に答える
9

おそらくただ:

DateTime.IsLeapYear(DateTime.Now.Year)?366:365

申し訳ありませんが、今年の日数が必要なように読んでください...

于 2020-07-29T11:00:06.750 に答える
4

トリックを行う必要があります

int daysLeft = new DateTime(DateTime.Now.Year, 12, 31).DayOfYear - DateTime.Now.DayOfYear;

于 2012-05-08T09:21:31.537 に答える
1

new DateTime(suppliedDate.Year, 12, 31).Subtract(suppliedDate).TotalDays

于 2012-05-08T09:20:15.157 に答える
0

TimeSpanを次のように試してみるべきだと思います

 DateTime startTime = DateTime.Now;

 DateTime endTime = DateTime.Now.AddSeconds( 75 );

 TimeSpan span = endTime.Subtract ( startTime );
 Console.WriteLine( "Time Difference (seconds): " + span.Seconds );
 Console.WriteLine( "Time Difference (minutes): " + span.Minutes );
 Console.WriteLine( "Time Difference (hours): " + span.Hours );
 Console.WriteLine( "Time Difference (days): " + span.Days );
于 2012-05-08T09:46:36.420 に答える
0

開始日を取得し、1年から1日を引いてから、開始日から終了日を引くと、2つの日付の間の合計日数が得られます。

var beginOfYear = new DateTime(2000, 01, 01, 0, 0, 0, DateTimeKind.Local);
var endOfYear = beginOfYear.AddYears(1).AddDays(-1);
var daysOfYear = endOfYear.Subtract(beginOfYear).TotalDays;
于 2022-02-26T13:46:51.727 に答える