{"id":326346,"date":"2021-07-13T03:00:14","date_gmt":"2021-07-13T03:00:14","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=326346"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=326346","title":{"rendered":"\u0414\u0430\u0442\u044b, \u0432\u0440\u0435\u043c\u044f \u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u044f\u0441\u0430: \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 .NET 6"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6e7\/a59\/656\/6e7a59656b34f02676bda5f0b226ebce.png\" width=\"780\" height=\"439\"><figcaption><\/figcaption><\/figure>\n<p>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d. <em>\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 <\/em><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/\"><em>\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b<\/em><\/a><\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0433\u0440\u044f\u0434\u0443\u0449\u0438\u0445 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f\u0445 \u0432 .NET 6, \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0434\u0430\u0442\u044b, \u0432\u0440\u0435\u043c\u044f \u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u044f\u0441\u0430. \u0412\u0441\u0435, \u043e \u0447\u0435\u043c \u0437\u0434\u0435\u0441\u044c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u0438&nbsp;\u2014 \u044d\u0442\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-net-6-preview-4\/\"><strong><u>.NET 6 Preview 4<\/u><\/strong><\/a><strong>.<\/strong><\/p>\n<p>\u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0435\u043c\u044b:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/#introducing-the-dateonly-and-timeonly-types\"><u>\u041d\u043e\u0432\u044b\u0435 \u0442\u0438\u043f\u044b DateOnly \u0438 TimeOnly<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/#time-zone-conversion-apis\"><u>API \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/#time-zone-display-names-on-linux-and-macos\"><u>\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u0432 Linux \u0438 macOS<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/#timezoneinfo-adjustmentrule-improvements\"><u>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 TimeZoneInfo.AdjustmentRule<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0435\u0439 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430&nbsp;GitHub: <a href=\"https:\/\/github.com\/dotnet\/runtime\/issues\/45318\"><u>dotnet\/runtime#45318<\/u><\/a>.<\/p>\n<h3>\u0417\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 \u0442\u0438\u043f\u0430\u043c\u0438 DateOnly \u0438 TimeOnly<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441 \u0434\u0430\u0442\u043e\u0439 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0432 .NET, \u0432\u044b \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0442\u0438\u043f\u044b DateTime, DateTimeOffset, TimeSpan \u0438 TimeZoneInfo. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u0432\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0434\u0432\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u043f\u0430:&nbsp;DateOnly \u0438 TimeOnly. \u041e\u0431\u0430 \u043e\u043d\u0438 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0443 \u0438\u043c\u0435\u043d System \u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0432 .NET, \u043a\u0430\u043a \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u0442\u044b \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<h3>\u0422\u0438\u043f DateOnly<\/h3>\n<p>\u0422\u0438\u043f DateOnly&nbsp;\u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f <em>\u0442\u043e\u043b\u044c\u043a\u043e<\/em> \u0434\u0430\u0442\u0443: \u0433\u043e\u0434, \u043c\u0435\u0441\u044f\u0446 \u0438 \u0434\u0435\u043d\u044c. \u0412\u043e\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"cs\">\/\/ \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 DateOnly d1 = new DateOnly(2021, 5, 31); Console.WriteLine(d1.Year);      \/\/ 2021 Console.WriteLine(d1.Month);     \/\/ 5 Console.WriteLine(d1.Day);       \/\/ 31 Console.WriteLine(d1.DayOfWeek); \/\/ Monday  \/\/ \u041c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 DateOnly d2 = d1.AddMonths(1);  \/\/ \u041c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u043d\u0438, \u043c\u0435\u0441\u044f\u0446\u044b \u0438\u043b\u0438 \u0433\u043e\u0434\u044b. \u0414\u043b\u044f \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. Console.WriteLine(d2);     \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"6\/30\/2021\" (\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0431\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438)  \/\/ \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 DayNumber \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0434\u0430\u0442\u0430\u043c\u0438 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445 int days = d2.DayNumber - d1.DayNumber; Console.WriteLine($\"{d2} \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 {days} \u0441\u0443\u0442\u043e\u043a \u043f\u043e\u0441\u043b\u0435 {d1}\");  \/\/ \u041f\u0430\u0440\u0441\u0438\u043d\u0433 \u0438 \u0442\u043e\u043a\u0435\u043d\u044b \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c DateOnly d3 = DateOnly.ParseExact(\"31 Dec 1980\", \"dd MMM yyyy\", CultureInfo.InvariantCulture);  \/\/ \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 Console.WriteLine(d3.ToString(\"o\", CultureInfo.InvariantCulture));   \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"1980-12-31\" (\u0444\u043e\u0440\u043c\u0430\u0442 ISO 8601)  \/\/ \u041c\u043e\u0436\u043d\u043e \u0441\u043e\u0447\u0435\u0442\u0430\u0442\u044c \u0441 TimeOnly, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043c\u044f (DateTime) DateTime dt = d3.ToDateTime(new TimeOnly(0, 0)); Console.WriteLine(dt);       \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"12\/31\/1980 12:00:00 AM\"  \/\/ \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0434\u0430\u0442\u0430 (\u0432 \u043c\u0435\u0441\u0442\u043d\u043e\u043c \u0447\u0430\u0441\u043e\u0432\u043e\u043c \u043f\u043e\u044f\u0441\u0435) DateOnly today = DateOnly.FromDateTime(DateTime.Today);<\/code><\/pre>\n<p>\u0422\u0438\u043f <code>DateOnly<\/code> \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u0442\u0430\u043c\u0438 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u044e\u0431\u0438\u043b\u0435\u0435\u0432, \u043d\u0430\u0439\u043c\u0430 \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0434\u0430\u0442\u0430\u043c\u0438, \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0438\u043f <code>DateOnly<\/code> \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0434\u0435\u043d\u044c <em>\u0446\u0435\u043b\u0438\u043a\u043e\u043c<\/em>&nbsp;(\u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0438 \u0434\u043e \u043a\u043e\u043d\u0446\u0430)&nbsp;\u2014 \u043e\u0434\u043d\u0443 \u043a\u043b\u0435\u0442\u043e\u0447\u043a\u0443 \u0432 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0435. \u0420\u0430\u043d\u044c\u0448\u0435 \u0432\u044b \u043c\u043e\u0433\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0438\u043f <code>DateTime<\/code> , \u0443\u043a\u0430\u0437\u0430\u0432 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u043d\u043e\u0447\u044c (00:00:00.0000000). \u042d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 <code>DateOnly<\/code> \u0434\u0430\u0435\u0442 \u0440\u044f\u0434 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<ul>\n<li>\n<p>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0442\u0438\u043f\u0430 <code>DateOnly<\/code>&nbsp;\u0432\u044b\u0448\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 <code>DateTime<\/code>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0430\u0442\u044b. \u042d\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 API, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0435 \u043a\u0430\u0436\u0434\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0435 \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0434\u043d\u044f, \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u0434\u043b\u044f \u0434\u0430\u0442\u044b \u043a\u0430\u043a \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u0446\u0435\u043b\u043e\u0433\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u0435\u0442\u043e\u0434 <code>TimeZoneInfo.ConvertTime<\/code>&nbsp;\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c <code>DateTime<\/code>&nbsp;\u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0447\u0430\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439. \u041f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0435\u043c\u0443 \u0434\u0430\u0442\u0443 \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0434\u043d\u044f. \u0422\u0430\u043a\u0438\u0435 \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u043c\u0435\u0441\u0442\u043e, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>DateTime<\/code>. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0448\u0438\u0431\u043a\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a \u0441\u0434\u0432\u0438\u0433\u0443 \u0434\u043d\u044f \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0443\u0442\u043a\u0438 \u0432\u043f\u0435\u0440\u0435\u0434 \u0438\u043b\u0438 \u043d\u0430\u0437\u0430\u0434. \u0410 \u0441 <code>DateOnly<\/code> \u043d\u0438 \u043e\u0434\u0438\u043d API \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u043f\u043e\u043f\u0440\u043e\u0441\u0442\u0443 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0435\u0433\u043e \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0438\u043f <code>DateTime<\/code>&nbsp;\u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e Kind&nbsp;\u0442\u0438\u043f\u0430 <code>DateTimeKind<\/code>, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f Local,&nbsp;Utc&nbsp;\u0438\u043b\u0438&nbsp;Unspecified. \u041e\u043d\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 API \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u0441\u0442\u0440\u043e\u043a. \u0422\u0438\u043f <code>DateOnly<\/code>&nbsp;\u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430&nbsp;\u2014 \u043e\u043d\u043e \u043f\u043e \u0441\u0443\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c (Unspecified).<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 <code>DateOnly<\/code> \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0433\u043e\u0434, \u043c\u0435\u0441\u044f\u0446 \u0438 \u0434\u0435\u043d\u044c. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u0447\u0438\u0441\u0442\u043e\u043c \u0432\u0438\u0434\u0435, \u0431\u0435\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043d\u0443\u043b\u0435\u0439 \u0432 \u043a\u043e\u043d\u0446\u0435. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043b\u044e\u0431\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0432\u0430\u0448\u0435\u0433\u043e API \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0446\u0435\u043b\u0443\u044e \u0434\u0430\u0442\u0443, \u0430 \u043d\u0435 \u0435\u0435 \u043f\u043e\u043b\u043d\u043e\u0447\u044c.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441 SQL Server, \u0446\u0435\u043b\u044b\u0435 \u0434\u0430\u0442\u044b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u043a\u0430\u043a \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 date. \u041f\u0440\u0435\u0436\u0434\u0435 API \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u044b\u043b\u0438 \u0432 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u0435\u0440\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u0442\u0438\u043f\u0443 <code>DateTime<\/code>. \u041f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0440\u0435\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0433\u043b\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0438 \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c \u043d\u0443\u043b\u044f\u043c\u0438&nbsp;\u2014 \u0434\u0430\u0442\u0443 \u0431\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0431\u044b\u043b\u043e \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u043e\u0442 \u043f\u043e\u043b\u0443\u043d\u043e\u0447\u0438. \u0420\u0430\u0431\u043e\u0442\u0430\u044f \u0441 \u0442\u0438\u043f\u043e\u043c <code>DateOnly<\/code>, \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u044b\u0439 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 \u0442\u0438\u043f\u0430 date&nbsp;\u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423\u0447\u0442\u0438\u0442\u0435, \u0447\u0442\u043e <a href=\"https:\/\/github.com\/dotnet\/runtime\/issues\/49036#issuecomment-806444260\"><u>\u043f\u043e\u043a\u0430 \u043d\u0435 \u0432\u0441\u0435<\/u><\/a> \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u043d\u043e\u0432\u044b\u0439 \u0442\u0438\u043f, \u043d\u043e, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0438\u043f <code>DateOnly<\/code>&nbsp;\u0438\u043c\u0435\u0435\u0442 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043e\u0442 0001-01-01&nbsp;\u0434\u043e 9999-12-31, \u043a\u0430\u043a \u0438 DateTime. \u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043b\u044e\u0431\u044b\u0445 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0435\u0439, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 .NET. \u041d\u043e, \u043f\u043e\u0434\u043e\u0431\u043d\u043e <code>DateTime<\/code>, \u043e\u0431\u044a\u0435\u043a\u0442 <code>DateOnly<\/code> <em>\u0432\u0441\u0435\u0433\u0434\u0430<\/em> \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D0%BB%D0%B5%D0%BF%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B3%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BD%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%B0%D0%BB%D0%B5%D0%BD%D0%B4%D0%B0%D1%80%D1%8C\"><u>\u043f\u0440\u043e\u043b\u0435\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0433\u0440\u0438\u0433\u043e\u0440\u0438\u0430\u043d\u0441\u043a\u043e\u0433\u043e \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f<\/u><\/a>, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438 \u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f. \u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c, \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f <em>\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438<\/em> \u0433\u043e\u0434\u0430, \u043c\u0435\u0441\u044f\u0446\u0430 \u0438 \u0434\u043d\u044f, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u043e\u0442 \u0436\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440. \u041f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"cpp\">Calendar hebrewCalendar = new HebrewCalendar(); DateOnly d4 = new DateOnly(5781, 9, 16, hebrewCalendar);                   \/\/ 16 \u0441\u0438\u0432\u0430\u043d\u0430 5781 \u0433. Console.WriteLine(d4.ToString(\"d MMMM yyyy\", CultureInfo.InvariantCulture)); \/\/ 27 \u043c\u0430\u044f 2021 \u0433. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u043c. \u0432 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f\u043c\u0438.<\/code><\/pre>\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u043c. \u0432 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043f\u043e <a href=\"https:\/\/docs.microsoft.com\/dotnet\/standard\/datetime\/working-with-calendars\"><em><u>\u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f\u043c\u0438<\/u><\/em><\/a>.<\/p>\n<h3>\u0422\u0438\u043f TimeOnly<\/h3>\n<p>\u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u0432\u0432\u0435\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0442\u0438\u043f <code>TimeOnly<\/code>. \u042d\u0442\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 <em>\u0442\u043e\u043b\u044c\u043a\u043e<\/em>&nbsp;\u0432\u0440\u0435\u043c\u044f&nbsp;\u2014 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445. \u041c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e <code>DateOnly<\/code>&nbsp;\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043e\u0439 <code>DateTime<\/code>, \u0430 <code>TimeOnly<\/code>&nbsp;\u2014 \u0432\u0442\u043e\u0440\u043e\u0439. \u0412\u043e\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"cpp\">\/\/ \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 TimeOnly t1 = new TimeOnly(16, 30); Console.WriteLine(t1.Hour);      \/\/ 16 Console.WriteLine(t1.Minute);    \/\/ 30 Console.WriteLine(t1.Second);    \/\/ 0  \/\/ \u041c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0447\u0430\u0441\u044b, \u043c\u0438\u043d\u0443\u0442\u044b \u0438\u043b\u0438 \u043f\u0435\u0440\u0438\u043e\u0434 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 TimeSpan (\u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f). TimeOnly t2 = t1.AddHours(10); Console.WriteLine(t2);     \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"2:30 AM\" (\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0434\u0430\u0442\u044b \u043d\u0435\u0442, \u0430 \u0432\u0440\u0435\u043c\u044f \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u0448\u043b\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u043d\u043e\u0447\u044c)  \/\/ \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0448\u043b\u043e \u0441\u0443\u0442\u043e\u043a \u0437\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 (= \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0447\u0430\u0441\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0447\u044c). TimeOnly t3 = t2.AddMinutes(5000, out int wrappedDays); Console.WriteLine($\"{t3}, {wrappedDays} \u0441\u0443\u0442\u043e\u043a \u0441\u043f\u0443\u0441\u0442\u044f\");  \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"1:50 PM, 3 \u0441\u0443\u0442\u043e\u043a \u0441\u043f\u0443\u0441\u0442\u044f\"  \/\/ \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438. \/\/ \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043a\u0430\u043a \"\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f - \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f\". \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0430\u0436\u0435\u043d, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u0430\u0441\u044b.  \u041f\u0440\u0438\u043c\u0435\u0440: TimeOnly t4 = new TimeOnly(2, 0);  \/\/ 2:00 TimeOnly t5 = new TimeOnly(21, 0); \/\/ 21:00 TimeSpan x = t5 - t4; TimeSpan y = t4 - t5; Console.WriteLine($\"{t5} \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 {x.TotalHours} \u0447. \u043f\u043e\u0441\u043b\u0435 {t4}\"); \/\/ 19 \u0447\u0430\u0441\u043e\u0432 Console.WriteLine($\"{t4} \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 {x.TotalHours} \u0447. \u043f\u043e\u0441\u043b\u0435 {t5}\"); \/\/ 5 \u0447\u0430\u0441\u043e\u0432  \/\/ \u041f\u0430\u0440\u0441\u0438\u043d\u0433 \u0438 \u0442\u043e\u043a\u0435\u043d\u044b \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c TimeOnly t6 = TimeOnly.ParseExact(\"5:00 pm\", \"h:mm tt\", CultureInfo.InvariantCulture);  \/\/ \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 Console.WriteLine(t6.ToString(\"T\", CultureInfo.InvariantCulture));   \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"17:00:00\" (\u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438)  \/\/ \u041c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c TimeOnly \u0432 TimeSpan \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u043f\u0440\u0435\u0436\u043d\u0438\u043c\u0438 API TimeSpan ts = t6.ToTimeSpan(); Console.WriteLine(ts);      \/\/ \"17:00:00\"  \/\/ \u0418\u043b\u0438 \u0441\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 DateOnly, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c DateTime DateTime dt = new DateOnly(1970, 1, 1).ToDateTime(t6); Console.WriteLine(dt);       \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"1\/1\/1970 5:00:00 PM\"  \/\/ \u0415\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f (\u0432 \u043c\u0435\u0441\u0442\u043d\u043e\u043c \u0447\u0430\u0441\u043e\u0432\u043e\u043c \u043f\u043e\u044f\u0441\u0435) TimeOnly now = TimeOnly.FromDateTime(DateTime.Now);  \/\/ \u041c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u0438 \u0432\u0440\u0435\u043c\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 if (now.IsBetween(t1, t2))     Console.WriteLine($\"{now} \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 {t1} \u0438 {t2}\"); else     Console.WriteLine($\"{now} \u041d\u0415 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 {t1} \u0438 {t2}\");<\/code><\/pre>\n<p>\u0422\u0438\u043f <code>TimeOnly<\/code> \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u043a\u0430\u043a \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u0441\u0442\u0440\u0435\u0447, \u0432\u0440\u0435\u043c\u044f \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0433\u043e \u0431\u0443\u0434\u0438\u043b\u044c\u043d\u0438\u043a\u0430 \u0438\u043b\u0438 \u043d\u0430\u0447\u0430\u043b\u043e \u0438 \u043a\u043e\u043d\u0435\u0446 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0434\u043d\u044f \u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438. \u0422\u0430\u043a \u043a\u0430\u043a \u0442\u0438\u043f <code>TimeOnly<\/code> \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0434\u0430\u0442\u0435, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u0447\u0430\u0441\u044b (\u043f\u0440\u0430\u0432\u0434\u0430, \u043d\u0435 12-, \u0430 24-\u0447\u0430\u0441\u043e\u0432\u044b\u0435). \u0420\u0430\u043d\u044c\u0448\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u043e \u0434\u0432\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439: \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0438\u043f\u043e\u0432 <code>TimeSpan<\/code>&nbsp;\u0438\u043b\u0438 <code>DateTime<\/code>. \u041e\u0431\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 <code>TimeOnly<\/code>&nbsp;\u0434\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430:<\/p>\n<ul>\n<li>\n<p>\u0422\u0438\u043f <code>TimeSpan<\/code> \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 <em>\u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0435<\/em>&nbsp;\u0432\u0440\u0435\u043c\u044f, \u043f\u043e\u0434\u043e\u0431\u043d\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u043e\u043c\u0435\u0440\u0443. \u0415\u0433\u043e \u0432\u0435\u0440\u0445\u043d\u044f\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 29&nbsp;000&nbsp;<em>\u043b\u0435\u0442<\/em>, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438 <em>\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438<\/em>, \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043e\u0442\u0441\u0447\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0412 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0442\u0438\u043f <code>TimeOnly<\/code>&nbsp;\u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u043c\u0435\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u0442 00:00:00.0000000&nbsp;\u0434\u043e&nbsp;23:59:59.9999999 \u0438 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445 \u0442\u0438\u043f <code>TimeSpan<\/code>, \u0435\u0441\u0442\u044c \u0440\u0438\u0441\u043a \u0432\u044b\u0445\u043e\u0434\u0430 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430. <code>TimeOnly<\/code> \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0440\u0438\u0441\u043a.<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u043c\u0435\u043d\u0442 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0442\u0438\u043f <code>DateTime<\/code>, \u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0443\u044e \u0434\u0430\u0442\u0443. \u0417\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>DateTime.MinValue<\/code>&nbsp;(0001-01-01), \u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u0440\u043e\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0432\u044b\u0445\u043e\u0434\u0443 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0415\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0443\u044e \u0434\u0430\u0442\u0443, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0435\u0435, \u0430 \u0437\u0430\u0442\u0435\u043c \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c \u043f\u0440\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0438\u043f <code>TimeOnly<\/code>, \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432, \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445, \u0438 \u0432 \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445 \u043e\u043d \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0435\u0435, \u0447\u0435\u043c <code>DateTime<\/code> \u0438\u043b\u0438 <code>TimeSpan<\/code>,&nbsp;\u2014 \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a <code>DateOnly<\/code> \u0431\u043e\u043b\u0435\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u0435\u043d, \u0447\u0435\u043c <code>DateTime<\/code>, \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0434\u0430\u0442 \u0431\u0435\u0437 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0434\u043d\u0430 \u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c&nbsp;\u2014 \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u0435\u043a\u0448\u0438\u0445 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 <code>TimeSpan<\/code>, <code>TimeOnly<\/code> \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0442\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u043d\u043e\u0447\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0432\u043e\u0441\u044c\u043c\u0438\u0447\u0430\u0441\u043e\u0432\u0430\u044f \u0441\u043c\u0435\u043d\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 18:00, <code>TimeOnly<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0438 \u0432\u043e\u0441\u0435\u043c\u044c \u0447\u0430\u0441\u043e\u0432 \u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043c\u0435\u043d\u044b \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c 02:00; \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044d\u0442\u043e\u0442 \u0442\u0438\u043f \u0438\u043c\u0435\u0435\u0442 \u043c\u0435\u0442\u043e\u0434 <code>InBetween<\/code>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043b\u0435\u0433\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043b\u0438 \u043e\u043d\u043e \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0441\u043c\u0435\u043d\u0443 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430.<\/p>\n<\/li>\n<\/ul>\n<h3>\u041f\u043e\u0447\u0435\u043c\u0443 \u0438\u043c\u0435\u043d\u0430 \u0442\u0438\u043f\u043e\u0432 \u043a\u043e\u043d\u0447\u0430\u044e\u0442\u0441\u044f \u043d\u0430 Only?<\/h3>\n<p>\u041f\u0440\u0438\u0434\u0443\u043c\u044b\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e, \u0438 \u044d\u0442\u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439&nbsp;\u2014 \u043d\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041c\u044b \u0434\u043e\u043b\u0433\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u043b\u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0438\u043c\u0435\u043d, \u043d\u043e \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0438\u043c\u0435\u043d\u0430 <code>DateOnly<\/code> \u0438 <code>TimeOnly<\/code>, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u044f\u0434\u0443 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>\n<p>\u041e\u043d\u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u044f\u0437\u044b\u043a\u0430 .NET.&nbsp;Date \u0431\u044b\u043b\u043e \u0431\u044b \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c, \u043d\u043e \u044d\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0432 \u044f\u0437\u044b\u043a\u0435 VB.NET \u0438 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0439\u0441\u044f \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u043e\u043c <code>System.DateTime<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u043e \u0438\u043c\u044f \u0431\u044b\u043b\u043e \u043e\u0442\u0432\u0435\u0440\u0433\u043d\u0443\u0442\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0445 \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e IntelliSense, \u0432\u0432\u0435\u0434\u044f \u0438\u0445 \u043d\u0430\u0447\u0430\u043b\u043e&nbsp;\u2014 Date \u0438\u043b\u0438 Time. \u041c\u044b \u0441\u043e\u0447\u043b\u0438 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u044b\u043c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 .NET-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u0440\u0438\u0432\u044b\u043a\u043b\u043e \u043a \u0442\u0438\u043f\u0430\u043c <code>DateTime<\/code>&nbsp;\u0438 <code>TimeSpan<\/code>. \u0412 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430\u043c\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Java-\u043a\u043b\u0430\u0441\u0441\u044b <code>LocalDate<\/code> \u0438 <code>LocalTime<\/code> \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 <a href=\"https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/time\/package-summary.html\"><u>java.time<\/u><\/a> \u0438\u043b\u0438 \u0436\u0435 \u0442\u0438\u043f\u044b <code>PlainDate<\/code> \u0438 <code>PlainTime<\/code> \u0432 \u0433\u043e\u0442\u043e\u0432\u044f\u0449\u0435\u043c\u0441\u044f \u043a \u0432\u044b\u043f\u0443\u0441\u043a\u0443 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0438 <a href=\"https:\/\/tc39.es\/proposal-temporal\/docs\/\"><u>Temporal<\/u><\/a> \u0434\u043b\u044f JavaScript. \u041d\u043e \u0432 \u044d\u0442\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0432\u0441\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u0442 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0432 .NET \u0442\u0438\u043f\u044b \u0434\u0430\u0442\u044b \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043e\u0431\u0449\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d System.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0445 \u0442\u0440\u0443\u0434\u043d\u043e \u0441\u043f\u0443\u0442\u0430\u0442\u044c \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 API. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043e\u0431\u0430 \u0442\u0438\u043f\u0430 <code>DateTime<\/code> \u0438 <code>DateTimeOffset<\/code> \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 Date (\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <code>DateTime<\/code>) \u0438 <code>TimeOfDay<\/code> (\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 TimeSpan). \u041c\u044b \u0441\u043e\u0447\u043b\u0438, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0431\u044b \u0442\u0438\u043f \u043d\u0430\u0437\u044b\u0432\u0430\u043b\u0441\u044f <code>TimeOfDay<\/code> \u0432\u043c\u0435\u0441\u0442\u043e <code>TimeOnly<\/code>, \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0447\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e <code>DateTime<\/code>.<code>TimeOfDay<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0442\u0438\u043f <code>TimeSpan<\/code>, \u0430 \u043d\u0435 <code>TimeOfDay<\/code>. \u0415\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0434\u0435\u043b\u0430\u043b\u0438 \u0432\u0441\u0435 \u0441 \u043d\u0443\u043b\u044f, \u043c\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0431\u044b \u044d\u0442\u0438 \u0438\u043c\u0435\u043d\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d \u0441\u0432\u043e\u0439\u0441\u0442\u0432 <em>\u0438<\/em> \u0438\u043c\u0435\u043d \u0442\u0438\u043f\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442, \u043d\u043e \u0442\u0430\u043a\u043e\u0435 \u0440\u0430\u0434\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p>\u041e\u043d\u0438 \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0438 \u0438\u043c\u0435\u044e\u0442 \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u0441\u043c\u044b\u0441\u043b. \u0412\u0435\u0434\u044c \u0438\u043c\u0435\u043d\u0430 <code>DateOnly<\/code> \u0438 <code>TimeOnly<\/code> \u044f\u0432\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u0438 \u0442\u0438\u043f\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u00ab\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0430\u0442\u044b\u00bb \u0438 \u00ab\u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438\u00bb. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u043f\u0440\u0438 \u0438\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u0438\u043f <code>DateTime<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0434\u0430\u0432\u0430\u044f \u0438\u043c \u0442\u0430\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u0430, \u043c\u044b \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c \u0438\u0445 \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0410 \u043a\u0430\u043a \u043d\u0430\u0441\u0447\u0435\u0442 Noda Time?<\/h3>\n<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u043d\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/nodatime.org\/\"><u>Noda Time<\/u><\/a> \u0432\u043c\u0435\u0441\u0442\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u0442\u0438\u043f\u043e\u0432. \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, Noda Time&nbsp;\u2014 \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437\u0435\u0446 \u0432\u044b\u0441\u043e\u043a\u043e\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 .NET \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c, \u0438 \u0432\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043c\u043e\u0436\u0435\u0442\u0435 \u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u0435\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438, \u0447\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u0438\u0435 API Noda \u0432\u043d\u0443\u0442\u0440\u0438 .NET \u043d\u0435\u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043d\u043d\u043e. \u0412 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0435\u0442\u0435 \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e, \u0447\u0442\u043e \u043b\u0443\u0447\u0448\u0435 <em>\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c<\/em> \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0442\u0438\u043f\u044b, \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0432 \u043f\u0440\u043e\u0431\u0435\u043b\u044b, \u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c\u0438. \u0412\u0435\u0434\u044c \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e .NET-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0438\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f \u0442\u0438\u043f\u044b <code>DateTime<\/code>, <code>DateTimeOffset<\/code>, <code>TimeSpan<\/code> \u0438 <code>TimeZoneInfo<\/code>. \u0422\u0438\u043f\u044b <code>DateOnly<\/code> \u0438 <code>TimeOnly<\/code> \u0441\u0442\u0430\u043d\u0443\u0442 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u043a \u043d\u0438\u043c.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0437\u0430\u043c\u0435\u0447\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0441\u0442\u0438 <code>DateOnly<\/code> \u0438 <code>TimeOnly<\/code> \u0441 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u044b\u043c\u0438 \u0442\u0438\u043f\u0430\u043c\u0438 Noda Time (<code>LocalDate<\/code> \u0438 <code>LocalTime<\/code>) \u0443\u0436\u0435 <a href=\"https:\/\/github.com\/nodatime\/nodatime\/issues\/1635\"><u>\u0432\u043d\u0435\u0441\u0435\u043d\u043e \u043d\u0430 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u0435<\/u><\/a>.<\/p>\n<h3>API \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432<\/h3>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430&nbsp;\u2014 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u043f\u0440\u0430\u0432\u043a\u0430. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0434\u0432\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u0430\u0445:<\/p>\n<ul>\n<li>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 Microsoft, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u0441 Windows.<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430:&nbsp;&#171;AUS Eastern Standard Time&#187;<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u043c\u0438 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 <a href=\"https:\/\/www.iana.org\/time-zones\"><u>IANA<\/u><\/a>.<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430:&nbsp;&#171;Australia\/Sydney&#187;<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0434 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u043c\u0438 \u044f \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e Linux \u0438 macOS, \u043d\u043e \u0438 Java, Python, Perl, Ruby, Go, JavaScript \u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435.<\/p>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u0432 .NET \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u043c <code>TimeZoneInfo<\/code>. \u042d\u0442\u043e\u0442 \u043a\u043b\u0430\u0441\u0441 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b .NET Framework 3.5, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 Windows. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d \u043f\u043e\u043b\u0443\u0447\u0430\u043b \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u0430\u0445 \u0438\u0437 Windows. \u0412\u0441\u043a\u043e\u0440\u0435 \u044d\u0442\u043e \u0441\u0442\u0430\u043b\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0445\u043e\u0442\u0435\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u0430\u0445 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438. \u0421 \u0432\u044b\u0445\u043e\u0434\u043e\u043c .NET Core \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043e\u0431\u043e\u0441\u0442\u0440\u0438\u043b\u0430\u0441\u044c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u0430\u0445 Windows \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Linux \u0438 macOS.<\/p>\n<p>\u0420\u0430\u043d\u0435\u0435 \u043c\u0435\u0442\u043e\u0434 <code>TimeZoneInfo.FindSystemTimeZoneById<\/code>&nbsp;\u0438\u0441\u043a\u0430\u043b \u0447\u0430\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u044f\u0441\u0430, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 <em>\u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435<\/em>. \u0422\u043e \u0435\u0441\u0442\u044c \u0447\u0430\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u044f\u0441\u0430 Windows \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 Windows \u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u044f\u0441\u0430 IANA \u0432\u043e \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445. \u042d\u0442\u043e \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u043a\u043e\u0434 \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043a\u0440\u043e\u0441\u0441-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u043c\u0438. \u0414\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043e\u0431\u0445\u043e\u0434\u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u043c <em>\u0440\u0443\u0447\u043d\u043e\u0433\u043e<\/em>&nbsp;\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439, \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0431\u0449\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 Unicode (<a href=\"https:\/\/github.com\/unicode-org\/cldr\"><u>Unicode CLDR<\/u><\/a>). \u042d\u0442\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u0430\u043a\u0436\u0435 \u0432 \u0442\u0430\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445, \u043a\u0430\u043a <a href=\"https:\/\/github.com\/unicode-org\/icu\"><u>ICU<\/u><\/a> \u0438 <a href=\"https:\/\/github.com\/mattjohnsonpint\/TimeZoneConverter\"><u>TimeZoneConverter<\/u><\/a>, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 .NET-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412\u0441\u0435 \u044d\u0442\u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438 \u0441\u0435\u0439\u0447\u0430\u0441, \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0438 \u043d\u043e\u0432\u044b\u0439, \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431.<\/p>\n<p>\u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430, \u043c\u0435\u0442\u043e\u0434 <code>TimeZoneInfo.FindSystemTimeZoneById<\/code> <em>\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438<\/em> \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u043e\u0440\u043c\u0430\u0442, \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0439 \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u043a\u0430\u043a IANA, \u0442\u0430\u043a \u0438 Windows, \u0432 \u043b\u044e\u0431\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u0430\u0445*. \u041c\u0435\u0442\u043e\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0442\u0435 \u0436\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f CLDR, \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0438\u0445 \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/docs.microsoft.com\/dotnet\/standard\/globalization-localization\/globalization-icu\"><u>\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0433\u043b\u043e\u0431\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 .NET \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 ICU<\/u><\/a>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>\u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"cpp\">\/\/ \u041e\u0431\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u043b\u044e\u0431\u044b\u0445 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u041e\u0421, \u0433\u0434\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u0438 ICU. TimeZoneInfo tzi1 = TimeZoneInfo.FindSystemTimeZoneById(\"AUS Eastern Standard Time\"); TimeZoneInfo tzi2 = TimeZoneInfo.FindSystemTimeZoneById(\"Australia\/Sydney\");<\/code><\/pre>\n<p>\u0412 UNIX \u0447\u0430\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u044f\u0441\u0430 Windows \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u044c \u041e\u0421, \u043d\u043e \u0438\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u044e\u0442\u0441\u044f \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0438 \u0434\u0430\u043d\u043d\u044b\u043c, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u043c ICU. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 libicu&nbsp;\u0438\u043b\u0438 <a href=\"https:\/\/docs.microsoft.com\/dotnet\/standard\/globalization-localization\/globalization-icu#app-local-icu\"><u>\u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 ICU \u0432 \u0441\u0432\u043e\u0435 .NET-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/u><\/a>.<\/p>\n<p>*<em> \u0418\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 Docker-\u043e\u0431\u0440\u0430\u0437\u044b .NET, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f Alpine Linux, \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 tzdata, \u043d\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 <\/em><a href=\"https:\/\/github.com\/dotnet\/dotnet-docker\/issues\/1366\"><em><u>\u043b\u0435\u0433\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0433\u043e<\/u><\/em><\/a><em>.<\/em><\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u043c\u044b \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0432 \u043a\u043b\u0430\u0441\u0441 <code>TimeZoneInfo<\/code> \u043d\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 <code>TryConvertIanaIdToWindowsId<\/code>&nbsp;\u0438&nbsp;<code>TryConvertWindowsIdToIanaId<\/code>&nbsp;\u2014 \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0447\u0430\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<pre><code class=\"cpp\">\/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 IANA \u0432 Windows string ianaId1 = \"America\/Los_Angeles\"; if (!TimeZoneInfo.TryConvertIanaIdToWindowsId(ianaId1, out string winId1))     throw new TimeZoneNotFoundException($\"\u0427\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441 Windows \u0434\u043b\u044f \"{ianaId1}\" \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.\"); Console.WriteLine($\"{ianaId1} =&gt; {winId1}\");  \/\/ \"America\/Los_Angeles =&gt; Pacific Standard Time\"  \/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 Windows \u0432 IANA \u043f\u0440\u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u043c \u0440\u0435\u0433\u0438\u043e\u043d\u0435 string winId2 = \"Eastern Standard Time\"; if (!TimeZoneInfo.TryConvertWindowsIdToIanaId(winId2, out string ianaId2))     throw new TimeZoneNotFoundException($\"\u0427\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441 IANA \u0434\u043b\u044f \"{winId2}\" \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.\"); Console.WriteLine($\"{winId2} =&gt; {ianaId2}\");  \/\/ \"Eastern Standard Time =&gt; America\/New_York\"  \/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 Windows \u0432 IANA \u043f\u0440\u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u043c \u0440\u0435\u0433\u0438\u043e\u043d\u0435 string winId3 = \"Eastern Standard Time\"; string region = \"CA\"; \/\/ \u041a\u0430\u043d\u0430\u0434\u0430 if (!TimeZoneInfo.TryConvertWindowsIdToIanaId(winId3, region, out string ianaId3))     throw new TimeZoneNotFoundException($\"\u0427\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441 IANA \u0434\u043b\u044f \"{winId3}\" \u0432 \u0440\u0435\u0433\u0438\u043e\u043d\u0435 \"{region}\" \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.\"); Console.WriteLine($\"{winId3} + {region} =&gt; {ianaId3}\");  \/\/ \"Eastern Standard Time + CA =&gt; America\/Toronto\"<\/code><\/pre>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0432 \u043a\u043b\u0430\u0441\u0441 <code>TimeZoneInfo<\/code> \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c HasIanaId&nbsp;\u2014 \u043e\u043d\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <code>true<\/code>, \u0435\u0441\u043b\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e <code>Id<\/code>&nbsp;\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c \u0447\u0430\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u0430 IANA. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043b\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u044b <code>TimeZoneInfo<\/code>, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0438\u0437 \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 Windows \u0438\u043b\u0438 IANA, \u0430 \u0432\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0447\u0430\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u0430 IANA \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e API-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434:<\/p>\n<pre><code class=\"cpp\">static string GetIanaTimeZoneId(TimeZoneInfo tzi) {     if (tzi.HasIanaId)         return tzi.Id;  \/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f      if (TimeZoneInfo.TryConvertWindowsIdToIanaId(tzi.Id, out string ianaId))         return ianaId;  \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440      throw new TimeZoneNotFoundException($\"\u0427\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441 IANA \u0434\u043b\u044f \"{tzi.Id}\" \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.\"); } <\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0436\u0435 \u0432\u0430\u043c, \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u043d\u0443\u0436\u0435\u043d \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0447\u0430\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u0430 Windows&nbsp;\u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0444\u0443\u043d\u043a\u0446\u0438\u044f <a href=\"https:\/\/docs.microsoft.com\/sql\/t-sql\/queries\/at-time-zone-transact-sql\"><u>AT TIME ZONE<\/u><\/a>&nbsp;\u0432 SQL Server \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0435 \u0447\u0430\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u0430 \u0438\u0437 Windows, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 SQL Server \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Linux,&nbsp;\u2014 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434:<\/p>\n<pre><code class=\"cpp\">static string GetWindowsTimeZoneId(TimeZoneInfo tzi) {     if (!tzi.HasIanaId)         return tzi.Id;  \/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f      if (TimeZoneInfo.TryConvertIanaIdToWindowsId(tzi.Id, out string winId))         return winId;   \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440      throw new TimeZoneNotFoundException($\"\u0427\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441 Windows \u0434\u043b\u044f \"{tzi.Id}\" \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.\"); }<\/code><\/pre>\n<h3>\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u0432 Linux \u0438 macOS<\/h3>\n<p>\u0414\u0440\u0443\u0433\u0430\u044f \u0447\u0430\u0441\u0442\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0441 \u0447\u0430\u0441\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u044f\u0441\u0430\u043c\u0438&nbsp;\u2014 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u043e\u044f\u0441\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0433 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439. \u0412 Windows \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043c\u0435\u0442\u043e\u0434 <code>TimeZoneInfo.GetSystemTimeZones<\/code>. \u041e\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 <code>TimeZoneInfo<\/code>&nbsp;\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 Id&nbsp;\u0438&nbsp;<code>DisplayName<\/code>&nbsp;\u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430.<\/p>\n<p>\u0412 Windows \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 .NET \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u041e\u0421. \u0412 Linux \u0438 macOS \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f <a href=\"https:\/\/docs.microsoft.com\/dotnet\/standard\/globalization-localization\/globalization-icu\"><u>\u0434\u0430\u043d\u043d\u044b\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 ICU<\/u><\/a>. \u0412 \u0446\u0435\u043b\u043e\u043c \u044d\u0442\u043e\u043c \u043d\u0435\u043f\u043b\u043e\u0445\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434, \u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f <code>DisplayName<\/code>&nbsp;\u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b, \u0438\u043d\u0430\u0447\u0435 \u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 13 \u0440\u0430\u0437\u043d\u044b\u0445 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u043e\u0435 \u0438\u043c\u044f &#171;(UTC-07:00) Mountain Standard Time&#187;, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441. \u0427\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441 America\/Denver \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0437\u043e\u043d Mountain Time \u0432 \u0421\u0428\u0410, \u043d\u043e \u0432 \u0448\u0442\u0430\u0442\u0435 \u0410\u0440\u0438\u0437\u043e\u043d\u0430, \u0433\u0434\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043b\u0435\u0442\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u044f\u0441 America\/Phoenix.<\/p>\n<p>\u0412 \u043d\u043e\u0432\u043e\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u043c\u044b \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0449\u0438\u0435 \u0432 ICU \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0445 \u0438\u043c\u0435\u043d, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441 America\/Denver&nbsp;\u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a &#171;(UTC-07:00) Mountain Time (Denver)&#187;, \u0430 America\/Phoenix&nbsp;\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0438\u0434 &#171;(UTC-07:00) Mountain Time (Phoenix)&#187;. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043c\u043e\u0436\u043d\u043e \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u0445 Before (\u00ab\u0414\u043e\u00bb) \u0438 After (\u00ab\u041f\u043e\u0441\u043b\u0435\u00bb) <a href=\"https:\/\/github.com\/dotnet\/runtime\/pull\/48931\"><u>\u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0430 GitHub<\/u><\/a>.<\/p>\n<p>\u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u043f\u0438\u0441\u043e\u043a \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u0438 \u0438\u0445 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0432 <em>Windows<\/em> \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c. \u041d\u043e \u043c\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0431\u0430\u0433&nbsp;\u2014 \u0432 \u043a\u043e\u0434\u0435 \u0431\u044b\u043b\u043e \u0436\u0435\u0441\u0442\u043a\u043e \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u043e\u0435 \u0438\u043c\u044f \u0434\u043b\u044f \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 UTC (&#171;Coordinated Universal Time&#187;), \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u043e \u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u0441\u0435\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 \u044f\u0437\u044b\u043a\u0435, \u0447\u0442\u043e \u0438 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432.<\/p>\n<h3>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 TimeZoneInfo.AdjustmentRule<\/h3>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0435\u0442 \u0447\u0443\u0442\u044c \u0440\u0435\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e, \u043d\u043e \u0432\u0441\u0435 \u0436\u0435 \u0432\u0430\u0436\u043d\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c. \u041a\u043b\u0430\u0441\u0441 <code>TimeZoneInfo.AdjustmentRule<\/code> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 .NET \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 <code>TimeZoneInfo<\/code>&nbsp;\u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u043e\u0434\u043d\u043e \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0430\u0432\u0438\u043b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043b\u0438\u0431\u043e \u0432\u043e\u0432\u0441\u0435 \u0438\u0445 \u043d\u0435 \u0438\u043c\u0435\u0442\u044c. \u042d\u0442\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442, \u043a\u0430\u043a \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u0430 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e UTC \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 \u0442\u0435\u0447\u0435\u043d\u0438\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0447\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u044e\u0431\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0422\u0430\u043a\u0430\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0430&nbsp;\u2014 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430, \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u0437\u0430 \u0440\u0430\u043c\u043a\u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u043c\u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 <code>TimeZoneInfo<\/code> \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 <code>BaseUtcOffset<\/code> \u0431\u0443\u0434\u0435\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0438 \u0447\u0442\u043e \u0432\u0441\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430\u043c\u0438 \u043d\u0430 \u043b\u0435\u0442\u043d\u0435\u0435 \u0438 \u0437\u0438\u043c\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0435 \u0443\u0447\u0435\u043b, \u0447\u0442\u043e \u0447\u0430\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u044f\u0441\u0430 \u043c\u0435\u043d\u044f\u044e\u0442 \u0441\u0432\u043e\u0435 <em>\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435<\/em>&nbsp;\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432 \u0440\u0430\u0437\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"https:\/\/www.timeanddate.com\/news\/time\/yukon-canada-permanent-dst.html\"><u>\u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e<\/u><\/a> \u043d\u0430 \u0442\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0438 \u042e\u043a\u043e\u043d (\u041a\u0430\u043d\u0430\u0434\u0430) \u0440\u0435\u0448\u0438\u043b\u0438 \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 UTC-8 \u0438 UTC-7&nbsp;\u2014 \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0430\u043c \u043a\u0440\u0443\u0433\u043b\u044b\u0439 \u0433\u043e\u0434 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 UTC-7. \u0427\u0442\u043e\u0431\u044b \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c, \u0432 .NET (\u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u044b\u043c-\u0434\u0430\u0432\u043d\u043e) \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c <em>\u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435<\/em>&nbsp;\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u0430 <code>TimeZoneInfo.AdjustmentRule<\/code> \u0441 \u0438\u043c\u0435\u043d\u0435\u043c <code>BaseUtcOffsetDelta<\/code>. \u042d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 <code>TimeZoneInfo.BaseUtcOffset<\/code> \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0435.<\/p>\n<p>\u041d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u0440\u044f\u0434\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u043d\u0443\u0436\u0435\u043d \u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0441\u0435\u043c \u043d\u0435\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c \u0434\u0430\u043d\u043d\u044b\u043c \u0438 \u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u043f\u0440\u044f\u0442\u0430\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u043b\u0438\u0431\u043e \u0438\u0445 \u0447\u0430\u0441\u0442\u044c \u043e\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0432 \u043d\u043e\u0432\u043e\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e <code>BaseUtcOffsetDelta<\/code> \u043a\u043b\u0430\u0441\u0441\u0430 <code>TimeZoneInfo.AdjustmentRule<\/code>&nbsp;\u0441\u0442\u0430\u043b\u043e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u043c\u044b \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 <code>CreateAdjustmentRule<\/code> \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <code>baseUtcOffsetDelta<\/code> (\u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438, \u0431\u0443\u0434\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u043b\u0438 \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u044f\u0441\u0430 \u0438\u043b\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438).<\/p>\n<p>\u0414\u0432\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u0441\u0430\u044e\u0442\u0441\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 IANA \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043e\u0442 Windows. \u0412\u043d\u0435\u0448\u043d\u0435 \u043e\u043d\u0438 \u043d\u0438 \u043d\u0430 \u0447\u0442\u043e \u043d\u0435 \u0432\u043b\u0438\u044f\u044e\u0442, \u043d\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0432 \u0440\u044f\u0434\u0435 \u043f\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0443\u0436\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0442\u0430\u043b\u0438\u0441\u044c \u0432\u043e \u0432\u0441\u0435\u043c \u0432\u044b\u0448\u0435\u0441\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c, \u043d\u0435 \u043f\u0435\u0440\u0435\u0436\u0438\u0432\u0430\u0439\u0442\u0435&nbsp;\u2014 \u0432\u044b \u043d\u0435 \u043e\u0434\u0438\u043d\u043e\u043a\u0438. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0432\u0441\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0436\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b <code>TimeZoneInfo<\/code>, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a <code>GetUtcOffset<\/code> \u0438 <code>ConvertTime<\/code>. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0432\u0430\u043c \u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f.<\/p>\n<h3>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h3>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0434\u0430\u0442\u0430\u043c\u0438, \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u044f\u0441\u0430\u043c\u0438 \u0432 .NET 6 \u0431\u0443\u0434\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u0435\u0435. \u042f \u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u043c \u0431\u0443\u0434\u0443 \u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u0442\u0435\u043c, \u043a\u0430\u043a \u043d\u043e\u0432\u044b\u0435 \u0442\u0438\u043f\u044b <code>DateOnly<\/code> \u0438 <code>TimeOnly<\/code> \u043f\u0440\u0438\u0436\u0438\u0432\u0443\u0442\u0441\u044f \u0432 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0435 .NET, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0437\u0430 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u0446\u0435\u043b\u043e\u043c \u0436\u0435 \u044f \u0440\u0430\u0434 \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f .NET \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0443\u043b\u0443\u0447\u0448\u0430\u0442\u044c\u0441\u044f&nbsp;\u2014 \u0434\u0430\u0436\u0435 \u0432 \u0442\u0430\u043a\u043e\u0439 \u043d\u0435 \u0441\u0430\u043c\u043e\u0439 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438, \u043a\u0430\u043a \u0447\u0430\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u044f\u0441\u0430!<\/p>\n<p>\u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u043c\u043d\u0435\u043d\u0438\u0435\u043c \u043e\u0431 \u044d\u0442\u0438\u0445 \u043d\u043e\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u0445. \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<\/p>\n<p><em>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u043a\u043e\u0434\u0430 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0434\u043b\u044f \u0430\u043c\u0435\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u0438 \u0432 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u0438\u043b\u0438 \u0438\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u0432\u044b\u0432\u043e\u0434\u0438\u043c\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0444\u043e\u0440\u043c\u0430\u0442 \u0434\u0430\u0442 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438) \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f<\/em>.<\/p>\n<p>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d. <em>\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 <\/em><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/\"><em>\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b<\/em><\/a><\/p>\n<hr>\n<blockquote>\n<p>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u0443\u0440\u0441\u0430 <a href=\"https:\/\/otus.pw\/44rR\/\">&#171;C# Developer. Professional&#187;<\/a>. \u0415\u0441\u043b\u0438 \u0432\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0432 C# \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441 \u043d\u0443\u043b\u044f \u0434\u043e Pro, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043f\u0440\u043e <a href=\"https:\/\/otus.pw\/VfeK\/\">\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e.<\/a> <\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u0435\u043c \u0432\u0441\u0435\u0445 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0443\u0440\u043e\u043a \u00ab\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432\u00bb. \u041d\u0430 \u0437\u0430\u043d\u044f\u0442\u0438\u0438 \u043e\u0431\u0441\u0443\u0434\u0438\u043c \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 high-load \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. <a href=\"https:\/\/otus.pw\/aKqC\/\"><strong>\u0420\u0415\u0413\u0418\u0421\u0422\u0420\u0410\u0426\u0418\u042f<\/strong><\/a>  <\/p>\n<\/blockquote>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/567338\/\"> https:\/\/habr.com\/ru\/company\/otus\/blog\/567338\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d. <em>\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 <\/em><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/\"><em>\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b<\/em><\/a><\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0433\u0440\u044f\u0434\u0443\u0449\u0438\u0445 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f\u0445 \u0432 .NET 6, \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0434\u0430\u0442\u044b, \u0432\u0440\u0435\u043c\u044f \u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u044f\u0441\u0430. \u0412\u0441\u0435, \u043e \u0447\u0435\u043c \u0437\u0434\u0435\u0441\u044c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u0438&nbsp;\u2014 \u044d\u0442\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-net-6-preview-4\/\"><strong><u>.NET 6 Preview 4<\/u><\/strong><\/a><strong>.<\/strong><\/p>\n<p>\u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0435\u043c\u044b:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/#introducing-the-dateonly-and-timeonly-types\"><u>\u041d\u043e\u0432\u044b\u0435 \u0442\u0438\u043f\u044b DateOnly \u0438 TimeOnly<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/#time-zone-conversion-apis\"><u>API \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/#time-zone-display-names-on-linux-and-macos\"><u>\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u0432 Linux \u0438 macOS<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/date-time-and-time-zone-enhancements-in-net-6\/#timezoneinfo-adjustmentrule-improvements\"><u>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 TimeZoneInfo.AdjustmentRule<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0435\u0439 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430&nbsp;GitHub: <a href=\"https:\/\/github.com\/dotnet\/runtime\/issues\/45318\"><u>dotnet\/runtime#45318<\/u><\/a>.<\/p>\n<h3>\u0417\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 \u0442\u0438\u043f\u0430\u043c\u0438 DateOnly \u0438 TimeOnly<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441 \u0434\u0430\u0442\u043e\u0439 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0432 .NET, \u0432\u044b \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0442\u0438\u043f\u044b DateTime, DateTimeOffset, TimeSpan \u0438 TimeZoneInfo. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u0432\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0434\u0432\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u043f\u0430:&nbsp;DateOnly \u0438 TimeOnly. \u041e\u0431\u0430 \u043e\u043d\u0438 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0443 \u0438\u043c\u0435\u043d System \u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0432 .NET, \u043a\u0430\u043a \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u0442\u044b \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<h3>\u0422\u0438\u043f DateOnly<\/h3>\n<p>\u0422\u0438\u043f DateOnly&nbsp;\u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f <em>\u0442\u043e\u043b\u044c\u043a\u043e<\/em> \u0434\u0430\u0442\u0443: \u0433\u043e\u0434, \u043c\u0435\u0441\u044f\u0446 \u0438 \u0434\u0435\u043d\u044c. \u0412\u043e\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"cs\">\/\/ \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 DateOnly d1 = new DateOnly(2021, 5, 31); Console.WriteLine(d1.Year);      \/\/ 2021 Console.WriteLine(d1.Month);     \/\/ 5 Console.WriteLine(d1.Day);       \/\/ 31 Console.WriteLine(d1.DayOfWeek); \/\/ Monday  \/\/ \u041c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 DateOnly d2 = d1.AddMonths(1);  \/\/ \u041c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u043d\u0438, \u043c\u0435\u0441\u044f\u0446\u044b \u0438\u043b\u0438 \u0433\u043e\u0434\u044b. \u0414\u043b\u044f \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. Console.WriteLine(d2);     \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"6\/30\/2021\" (\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0431\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438)  \/\/ \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 DayNumber \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0434\u0430\u0442\u0430\u043c\u0438 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445 int days = d2.DayNumber - d1.DayNumber; Console.WriteLine($\"{d2} \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 {days} \u0441\u0443\u0442\u043e\u043a \u043f\u043e\u0441\u043b\u0435 {d1}\");  \/\/ \u041f\u0430\u0440\u0441\u0438\u043d\u0433 \u0438 \u0442\u043e\u043a\u0435\u043d\u044b \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c DateOnly d3 = DateOnly.ParseExact(\"31 Dec 1980\", \"dd MMM yyyy\", CultureInfo.InvariantCulture);  \/\/ \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 Console.WriteLine(d3.ToString(\"o\", CultureInfo.InvariantCulture));   \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"1980-12-31\" (\u0444\u043e\u0440\u043c\u0430\u0442 ISO 8601)  \/\/ \u041c\u043e\u0436\u043d\u043e \u0441\u043e\u0447\u0435\u0442\u0430\u0442\u044c \u0441 TimeOnly, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043c\u044f (DateTime) DateTime dt = d3.ToDateTime(new TimeOnly(0, 0)); Console.WriteLine(dt);       \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"12\/31\/1980 12:00:00 AM\"  \/\/ \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0434\u0430\u0442\u0430 (\u0432 \u043c\u0435\u0441\u0442\u043d\u043e\u043c \u0447\u0430\u0441\u043e\u0432\u043e\u043c \u043f\u043e\u044f\u0441\u0435) DateOnly today = DateOnly.FromDateTime(DateTime.Today);<\/code><\/pre>\n<p>\u0422\u0438\u043f <code>DateOnly<\/code> \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u0442\u0430\u043c\u0438 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u044e\u0431\u0438\u043b\u0435\u0435\u0432, \u043d\u0430\u0439\u043c\u0430 \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0434\u0430\u0442\u0430\u043c\u0438, \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0438\u043f <code>DateOnly<\/code> \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0434\u0435\u043d\u044c <em>\u0446\u0435\u043b\u0438\u043a\u043e\u043c<\/em>&nbsp;(\u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0438 \u0434\u043e \u043a\u043e\u043d\u0446\u0430)&nbsp;\u2014 \u043e\u0434\u043d\u0443 \u043a\u043b\u0435\u0442\u043e\u0447\u043a\u0443 \u0432 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0435. \u0420\u0430\u043d\u044c\u0448\u0435 \u0432\u044b \u043c\u043e\u0433\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0438\u043f <code>DateTime<\/code> , \u0443\u043a\u0430\u0437\u0430\u0432 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u043d\u043e\u0447\u044c (00:00:00.0000000). \u042d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 <code>DateOnly<\/code> \u0434\u0430\u0435\u0442 \u0440\u044f\u0434 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<ul>\n<li>\n<p>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0442\u0438\u043f\u0430 <code>DateOnly<\/code>&nbsp;\u0432\u044b\u0448\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 <code>DateTime<\/code>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0430\u0442\u044b. \u042d\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 API, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0435 \u043a\u0430\u0436\u0434\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0435 \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0434\u043d\u044f, \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u0434\u043b\u044f \u0434\u0430\u0442\u044b \u043a\u0430\u043a \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u0446\u0435\u043b\u043e\u0433\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u0435\u0442\u043e\u0434 <code>TimeZoneInfo.ConvertTime<\/code>&nbsp;\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c <code>DateTime<\/code>&nbsp;\u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0447\u0430\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439. \u041f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0435\u043c\u0443 \u0434\u0430\u0442\u0443 \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0434\u043d\u044f. \u0422\u0430\u043a\u0438\u0435 \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u043c\u0435\u0441\u0442\u043e, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>DateTime<\/code>. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0448\u0438\u0431\u043a\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a \u0441\u0434\u0432\u0438\u0433\u0443 \u0434\u043d\u044f \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0443\u0442\u043a\u0438 \u0432\u043f\u0435\u0440\u0435\u0434 \u0438\u043b\u0438 \u043d\u0430\u0437\u0430\u0434. \u0410 \u0441 <code>DateOnly<\/code> \u043d\u0438 \u043e\u0434\u0438\u043d API \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u0447\u0430\u0441\u043e\u0432\u044b\u0445 \u043f\u043e\u044f\u0441\u043e\u0432 \u043f\u043e\u043f\u0440\u043e\u0441\u0442\u0443 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0435\u0433\u043e \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0438\u043f <code>DateTime<\/code>&nbsp;\u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e Kind&nbsp;\u0442\u0438\u043f\u0430 <code>DateTimeKind<\/code>, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f Local,&nbsp;Utc&nbsp;\u0438\u043b\u0438&nbsp;Unspecified. \u041e\u043d\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 API \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u0441\u0442\u0440\u043e\u043a. \u0422\u0438\u043f <code>DateOnly<\/code>&nbsp;\u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430&nbsp;\u2014 \u043e\u043d\u043e \u043f\u043e \u0441\u0443\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c (Unspecified).<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 <code>DateOnly<\/code> \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0433\u043e\u0434, \u043c\u0435\u0441\u044f\u0446 \u0438 \u0434\u0435\u043d\u044c. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u0447\u0438\u0441\u0442\u043e\u043c \u0432\u0438\u0434\u0435, \u0431\u0435\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043d\u0443\u043b\u0435\u0439 \u0432 \u043a\u043e\u043d\u0446\u0435. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043b\u044e\u0431\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0432\u0430\u0448\u0435\u0433\u043e API \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0446\u0435\u043b\u0443\u044e \u0434\u0430\u0442\u0443, \u0430 \u043d\u0435 \u0435\u0435 \u043f\u043e\u043b\u043d\u043e\u0447\u044c.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441 SQL Server, \u0446\u0435\u043b\u044b\u0435 \u0434\u0430\u0442\u044b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u043a\u0430\u043a \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 date. \u041f\u0440\u0435\u0436\u0434\u0435 API \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u044b\u043b\u0438 \u0432 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u0435\u0440\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u0442\u0438\u043f\u0443 <code>DateTime<\/code>. \u041f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0440\u0435\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0433\u043b\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0438 \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c \u043d\u0443\u043b\u044f\u043c\u0438&nbsp;\u2014 \u0434\u0430\u0442\u0443 \u0431\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0431\u044b\u043b\u043e \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u043e\u0442 \u043f\u043e\u043b\u0443\u043d\u043e\u0447\u0438. \u0420\u0430\u0431\u043e\u0442\u0430\u044f \u0441 \u0442\u0438\u043f\u043e\u043c <code>DateOnly<\/code>, \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u044b\u0439 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 \u0442\u0438\u043f\u0430 date&nbsp;\u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423\u0447\u0442\u0438\u0442\u0435, \u0447\u0442\u043e <a href=\"https:\/\/github.com\/dotnet\/runtime\/issues\/49036#issuecomment-806444260\"><u>\u043f\u043e\u043a\u0430 \u043d\u0435 \u0432\u0441\u0435<\/u><\/a> \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u043d\u043e\u0432\u044b\u0439 \u0442\u0438\u043f, \u043d\u043e, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0438\u043f <code>DateOnly<\/code>&nbsp;\u0438\u043c\u0435\u0435\u0442 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043e\u0442 0001-01-01&nbsp;\u0434\u043e 9999-12-31, \u043a\u0430\u043a \u0438 DateTime. \u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043b\u044e\u0431\u044b\u0445 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0435\u0439, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 .NET. \u041d\u043e, \u043f\u043e\u0434\u043e\u0431\u043d\u043e <code>DateTime<\/code>, \u043e\u0431\u044a\u0435\u043a\u0442 <code>DateOnly<\/code> <em>\u0432\u0441\u0435\u0433\u0434\u0430<\/em> \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D0%BB%D0%B5%D0%BF%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B3%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BD%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%B0%D0%BB%D0%B5%D0%BD%D0%B4%D0%B0%D1%80%D1%8C\"><u>\u043f\u0440\u043e\u043b\u0435\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0433\u0440\u0438\u0433\u043e\u0440\u0438\u0430\u043d\u0441\u043a\u043e\u0433\u043e \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f<\/u><\/a>, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438 \u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f. \u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c, \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f <em>\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438<\/em> \u0433\u043e\u0434\u0430, \u043c\u0435\u0441\u044f\u0446\u0430 \u0438 \u0434\u043d\u044f, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u043e\u0442 \u0436\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440. \u041f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"cpp\">Calendar hebrewCalendar = new HebrewCalendar(); DateOnly d4 = new DateOnly(5781, 9, 16, hebrewCalendar);                   \/\/ 16 \u0441\u0438\u0432\u0430\u043d\u0430 5781 \u0433. Console.WriteLine(d4.ToString(\"d MMMM yyyy\", CultureInfo.InvariantCulture)); \/\/ 27 \u043c\u0430\u044f 2021 \u0433. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u043c. \u0432 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f\u043c\u0438.<\/code><\/pre>\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u043c. \u0432 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043f\u043e <a href=\"https:\/\/docs.microsoft.com\/dotnet\/standard\/datetime\/working-with-calendars\"><em><u>\u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f\u043c\u0438<\/u><\/em><\/a>.<\/p>\n<h3>\u0422\u0438\u043f TimeOnly<\/h3>\n<p>\u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u0432\u0432\u0435\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0442\u0438\u043f <code>TimeOnly<\/code>. \u042d\u0442\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 <em>\u0442\u043e\u043b\u044c\u043a\u043e<\/em>&nbsp;\u0432\u0440\u0435\u043c\u044f&nbsp;\u2014 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445. \u041c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e <code>DateOnly<\/code>&nbsp;\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043e\u0439 <code>DateTime<\/code>, \u0430 <code>TimeOnly<\/code>&nbsp;\u2014 \u0432\u0442\u043e\u0440\u043e\u0439. \u0412\u043e\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"cpp\">\/\/ \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 TimeOnly t1 = new TimeOnly(16, 30); Console.WriteLine(t1.Hour);      \/\/ 16 Console.WriteLine(t1.Minute);    \/\/ 30 Console.WriteLine(t1.Second);    \/\/ 0  \/\/ \u041c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0447\u0430\u0441\u044b, \u043c\u0438\u043d\u0443\u0442\u044b \u0438\u043b\u0438 \u043f\u0435\u0440\u0438\u043e\u0434 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 TimeSpan (\u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f). TimeOnly t2 = t1.AddHours(10); Console.WriteLine(t2);     \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"2:30 AM\" (\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0434\u0430\u0442\u044b \u043d\u0435\u0442, \u0430 \u0432\u0440\u0435\u043c\u044f \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u0448\u043b\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u043d\u043e\u0447\u044c)  \/\/ \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0448\u043b\u043e \u0441\u0443\u0442\u043e\u043a \u0437\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 (= \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0447\u0430\u0441\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0447\u044c). TimeOnly t3 = t2.AddMinutes(5000, out int wrappedDays); Console.WriteLine($\"{t3}, {wrappedDays} \u0441\u0443\u0442\u043e\u043a \u0441\u043f\u0443\u0441\u0442\u044f\");  \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"1:50 PM, 3 \u0441\u0443\u0442\u043e\u043a \u0441\u043f\u0443\u0441\u0442\u044f\"  \/\/ \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438. \/\/ \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043a\u0430\u043a \"\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f - \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f\". \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0430\u0436\u0435\u043d, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u0430\u0441\u044b.  \u041f\u0440\u0438\u043c\u0435\u0440: TimeOnly t4 = new TimeOnly(2, 0);  \/\/ 2:00 TimeOnly t5 = new TimeOnly(21, 0); \/\/ 21:00 TimeSpan x = t5 - t4; TimeSpan y = t4 - t5; Console.WriteLine($\"{t5} \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 {x.TotalHours} \u0447. \u043f\u043e\u0441\u043b\u0435 {t4}\"); \/\/ 19 \u0447\u0430\u0441\u043e\u0432 Console.WriteLine($\"{t4} \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 {x.TotalHours} \u0447. \u043f\u043e\u0441\u043b\u0435 {t5}\"); \/\/ 5 \u0447\u0430\u0441\u043e\u0432  \/\/ \u041f\u0430\u0440\u0441\u0438\u043d\u0433 \u0438 \u0442\u043e\u043a\u0435\u043d\u044b \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c TimeOnly t6 = TimeOnly.ParseExact(\"5:00 pm\", \"h:mm tt\", CultureInfo.InvariantCulture);  \/\/ \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 Console.WriteLine(t6.ToString(\"T\", CultureInfo.InvariantCulture));   \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"17:00:00\" (\u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438)  \/\/ \u041c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c TimeOnly \u0432 TimeSpan \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u043f\u0440\u0435\u0436\u043d\u0438\u043c\u0438 API TimeSpan ts = t6.ToTimeSpan(); Console.WriteLine(ts);      \/\/ \"17:00:00\"  \/\/ \u0418\u043b\u0438 \u0441\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 DateOnly, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c DateTime DateTime dt = new DateOnly(1970, 1, 1).ToDateTime(t6); Console.WriteLine(dt);       \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"1\/1\/1970 5:00:00 PM\"  \/\/ \u0415\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f (\u0432 \u043c\u0435\u0441\u0442\u043d\u043e\u043c \u0447\u0430\u0441\u043e\u0432\u043e\u043c \u043f\u043e\u044f\u0441\u0435) TimeOnly now = TimeOnly.FromDateTime(DateTime.Now);  \/\/ \u041c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u0438 \u0432\u0440\u0435\u043c\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 if (now.IsBetween(t1, t2))     Console.WriteLine($\"{now} \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 {t1} \u0438 {t2}\"); else     Console.WriteLine($\"{now} \u041d\u0415 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 {t1} \u0438 {t2}\");<\/code><\/pre>\n<p>\u0422\u0438\u043f <code>TimeOnly<\/code> \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u043a\u0430\u043a \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u0441\u0442\u0440\u0435\u0447, \u0432\u0440\u0435\u043c\u044f \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0433\u043e \u0431\u0443\u0434\u0438\u043b\u044c\u043d\u0438\u043a\u0430 \u0438\u043b\u0438 \u043d\u0430\u0447\u0430\u043b\u043e \u0438 \u043a\u043e\u043d\u0435\u0446 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0434\u043d\u044f \u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438. \u0422\u0430\u043a \u043a\u0430\u043a \u0442\u0438\u043f <code>TimeOnly<\/code> \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0434\u0430\u0442\u0435, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u0447\u0430\u0441\u044b (\u043f\u0440\u0430\u0432\u0434\u0430, \u043d\u0435 12-, \u0430 24-\u0447\u0430\u0441\u043e\u0432\u044b\u0435). \u0420\u0430\u043d\u044c\u0448\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u043e \u0434\u0432\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439: \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0438\u043f\u043e\u0432 <code>TimeSpan<\/code>&nbsp;\u0438\u043b\u0438 <code>DateTime<\/code>. \u041e\u0431\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 <code>TimeOnly<\/code>&nbsp;\u0434\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430:<\/p>\n<ul>\n<li>\n<p>\u0422\u0438\u043f <code>TimeSpan<\/code> \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 <em>\u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0435<\/em>&nbsp;\u0432\u0440\u0435\u043c\u044f, \u043f\u043e\u0434\u043e\u0431\u043d\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u043e\u043c\u0435\u0440\u0443. \u0415\u0433\u043e \u0432\u0435\u0440\u0445\u043d\u044f\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 29&nbsp;000&nbsp;<em>\u043b\u0435\u0442<\/em>, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438 <em>\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438<\/em>, \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043e\u0442\u0441\u0447\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0412 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0442\u0438\u043f <code>TimeOnly<\/code>&nbsp;\u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u043c\u0435\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u0442 00:00:00.0000000&nbsp;\u0434\u043e&nbsp;23:59:59.9999999 \u0438 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445 \u0442\u0438\u043f <code>TimeSpan<\/code>, \u0435\u0441\u0442\u044c \u0440\u0438\u0441\u043a \u0432\u044b\u0445\u043e\u0434\u0430 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430. <code>TimeOnly<\/code> \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0440\u0438\u0441\u043a.<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u043c\u0435\u043d\u0442 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0442\u0438\u043f <code>DateTime<\/code>, \u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0443\u044e \u0434\u0430\u0442\u0443. \u0417\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>DateTime.MinValue<\/code>&nbsp;(0001-01-01), \u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u0440\u043e\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0432\u044b\u0445\u043e\u0434\u0443 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0415\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0443\u044e \u0434\u0430\u0442\u0443, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0435\u0435, \u0430 \u0437\u0430\u0442\u0435\u043c \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c \u043f\u0440\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0438\u043f <code>TimeOnly<\/code>, \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432, \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432 \u0441\u0443\u0442\u043a\u0430\u0445, \u0438 \u0432 \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445 \u043e\u043d \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0435\u0435, \u0447\u0435\u043c <code>DateTime<\/code> \u0438\u043b\u0438 <code>TimeSpan<\/code>,&nbsp;\u2014 \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a <code>DateOnly<\/code> \u0431\u043e\u043b\u0435\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u0435\u043d, \u0447\u0435\u043c <code>DateTime<\/code>, \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0434\u0430\u0442 \u0431\u0435\u0437 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0434\u043d\u0430 \u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c&nbsp;\u2014 \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u0435\u043a\u0448\u0438\u0445 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 <code>TimeSpan<\/code>, <code>TimeOnly<\/code> \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0442\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u043d\u043e\u0447\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0432\u043e\u0441\u044c\u043c\u0438\u0447\u0430\u0441\u043e\u0432\u0430\u044f \u0441\u043c\u0435\u043d\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 18:00, <code>TimeOnly<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0438 \u0432\u043e\u0441\u0435\u043c\u044c \u0447\u0430\u0441\u043e\u0432 \u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043c\u0435\u043d\u044b \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c 02:00; \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044d\u0442\u043e\u0442 \u0442\u0438\u043f \u0438\u043c\u0435\u0435\u0442 \u043c\u0435\u0442\u043e\u0434 <code>InBetween<\/code>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043b\u0435\u0433\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043b\u044f<\/p>\n<\/li>\n<\/ul>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-326346","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/326346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=326346"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/326346\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=326346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=326346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=326346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}