Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DateOnly.cs
Go to the documentation of this file.
4
5namespace System;
6
7public readonly struct DateOnly : IComparable, IComparable<DateOnly>, IEquatable<DateOnly>, ISpanFormattable, IFormattable, IComparisonOperators<DateOnly, DateOnly>, IEqualityOperators<DateOnly, DateOnly>, IMinMaxValue<DateOnly>, ISpanParseable<DateOnly>, IParseable<DateOnly>
8{
9 private readonly int _dayNumber;
10
11 public static DateOnly MinValue => new DateOnly(0);
12
13 public static DateOnly MaxValue => new DateOnly(3652058);
14
16
18
19 public int Day => GetEquivalentDateTime().Day;
20
22
24
25 public int DayNumber => _dayNumber;
26
27 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
29
30 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
32
33 private static int DayNumberFromDateTime(DateTime dt)
34 {
35 return (int)(dt.Ticks / 864000000000L);
36 }
37
39 {
40 return DateTime.UnsafeCreate(_dayNumber * 864000000000L);
41 }
42
43 private DateOnly(int dayNumber)
44 {
45 _dayNumber = dayNumber;
46 }
47
48 public DateOnly(int year, int month, int day)
49 {
51 }
52
53 public DateOnly(int year, int month, int day, Calendar calendar)
54 {
55 _dayNumber = DayNumberFromDateTime(new DateTime(year, month, day, calendar));
56 }
57
58 public static DateOnly FromDayNumber(int dayNumber)
59 {
60 if ((uint)dayNumber > 3652058u)
61 {
63 }
64 return new DateOnly(dayNumber);
65 }
66
68 {
69 int num = _dayNumber + value;
70 if ((uint)num > 3652058u)
71 {
72 ThrowOutOfRange();
73 }
74 return new DateOnly(num);
75 static void ThrowOutOfRange()
76 {
78 }
79 }
80
85
90
91 public static bool operator ==(DateOnly left, DateOnly right)
92 {
93 return left._dayNumber == right._dayNumber;
94 }
95
96 public static bool operator !=(DateOnly left, DateOnly right)
97 {
98 return left._dayNumber != right._dayNumber;
99 }
100
101 public static bool operator >(DateOnly left, DateOnly right)
102 {
103 return left._dayNumber > right._dayNumber;
104 }
105
106 public static bool operator >=(DateOnly left, DateOnly right)
107 {
108 return left._dayNumber >= right._dayNumber;
109 }
110
111 public static bool operator <(DateOnly left, DateOnly right)
112 {
113 return left._dayNumber < right._dayNumber;
114 }
115
116 public static bool operator <=(DateOnly left, DateOnly right)
117 {
118 return left._dayNumber <= right._dayNumber;
119 }
120
122 {
123 return new DateTime(_dayNumber * 864000000000L + time.Ticks);
124 }
125
127 {
128 return new DateTime(_dayNumber * 864000000000L + time.Ticks, kind);
129 }
130
131 public static DateOnly FromDateTime(DateTime dateTime)
132 {
133 return new DateOnly(DayNumberFromDateTime(dateTime));
134 }
135
137 {
138 return _dayNumber.CompareTo(value._dayNumber);
139 }
140
141 public int CompareTo(object? value)
142 {
143 if (value == null)
144 {
145 return 1;
146 }
147 if (!(value is DateOnly value2))
148 {
150 }
151 return CompareTo(value2);
152 }
153
154 public bool Equals(DateOnly value)
155 {
156 return _dayNumber == value._dayNumber;
157 }
158
159 public override bool Equals([NotNullWhen(true)] object? value)
160 {
161 if (value is DateOnly dateOnly)
162 {
163 return _dayNumber == dateOnly._dayNumber;
164 }
165 return false;
166 }
167
168 public override int GetHashCode()
169 {
170 return _dayNumber;
171 }
172
173 public static DateOnly Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null, DateTimeStyles style = DateTimeStyles.None)
174 {
175 DateOnly result;
176 ParseFailureKind parseFailureKind = TryParseInternal(s, provider, style, out result);
177 if (parseFailureKind != 0)
178 {
179 ThrowOnError(parseFailureKind, s);
180 }
181 return result;
182 }
183
185 {
186 DateOnly result;
187 ParseFailureKind parseFailureKind = TryParseExactInternal(s, format, provider, style, out result);
188 if (parseFailureKind != 0)
189 {
190 ThrowOnError(parseFailureKind, s);
191 }
192 return result;
193 }
194
196 {
197 return ParseExact(s, formats, null);
198 }
199
201 {
202 DateOnly result;
203 ParseFailureKind parseFailureKind = TryParseExactInternal(s, formats, provider, style, out result);
204 if (parseFailureKind != 0)
205 {
206 ThrowOnError(parseFailureKind, s);
207 }
208 return result;
209 }
210
211 public static DateOnly Parse(string s)
212 {
213 return Parse(s, null);
214 }
215
216 public static DateOnly Parse(string s, IFormatProvider? provider, DateTimeStyles style = DateTimeStyles.None)
217 {
218 if (s == null)
219 {
221 }
222 return Parse(s.AsSpan(), provider, style);
223 }
224
225 public static DateOnly ParseExact(string s, string format)
226 {
227 return ParseExact(s, format, null);
228 }
229
230 public static DateOnly ParseExact(string s, string format, IFormatProvider? provider, DateTimeStyles style = DateTimeStyles.None)
231 {
232 if (s == null)
233 {
235 }
236 if (format == null)
237 {
239 }
240 return ParseExact(s.AsSpan(), format.AsSpan(), provider, style);
241 }
242
243 public static DateOnly ParseExact(string s, string[] formats)
244 {
245 return ParseExact(s, formats, null);
246 }
247
248 public static DateOnly ParseExact(string s, string[] formats, IFormatProvider? provider, DateTimeStyles style = DateTimeStyles.None)
249 {
250 if (s == null)
251 {
253 }
254 return ParseExact(s.AsSpan(), formats, provider, style);
255 }
256
257 public static bool TryParse(ReadOnlySpan<char> s, out DateOnly result)
258 {
259 return TryParse(s, null, DateTimeStyles.None, out result);
260 }
261
262 public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
263 {
264 return TryParseInternal(s, provider, style, out result) == ParseFailureKind.None;
265 }
266
268 {
269 if (((uint)style & 0xFFFFFFF8u) != 0)
270 {
271 result = default(DateOnly);
272 return ParseFailureKind.FormatWithParameter;
273 }
274 DateTimeResult result2 = default(DateTimeResult);
275 result2.Init(s);
276 if (!DateTimeParse.TryParse(s, DateTimeFormatInfo.GetInstance(provider), style, ref result2))
277 {
278 result = default(DateOnly);
279 return ParseFailureKind.FormatWithOriginalDateTime;
280 }
281 if ((result2.flags & (ParseFlags.HaveHour | ParseFlags.HaveMinute | ParseFlags.HaveSecond | ParseFlags.HaveTime | ParseFlags.TimeZoneUsed | ParseFlags.TimeZoneUtc | ParseFlags.CaptureOffset | ParseFlags.UtcSortPattern)) != 0)
282 {
283 result = default(DateOnly);
284 return ParseFailureKind.WrongParts;
285 }
286 result = new DateOnly(DayNumberFromDateTime(result2.parsedDate));
287 return ParseFailureKind.None;
288 }
289
291 {
292 return TryParseExact(s, format, null, DateTimeStyles.None, out result);
293 }
294
296 {
297 return TryParseExactInternal(s, format, provider, style, out result) == ParseFailureKind.None;
298 }
299
301 {
302 if (((uint)style & 0xFFFFFFF8u) != 0)
303 {
304 result = default(DateOnly);
305 return ParseFailureKind.FormatWithParameter;
306 }
307 if (format.Length == 1)
308 {
309 switch (format[0])
310 {
311 case 'O':
312 case 'o':
313 format = "yyyy'-'MM'-'dd";
314 provider = CultureInfo.InvariantCulture.DateTimeFormat;
315 break;
316 case 'R':
317 case 'r':
318 format = "ddd, dd MMM yyyy";
319 provider = CultureInfo.InvariantCulture.DateTimeFormat;
320 break;
321 }
322 }
323 DateTimeResult result2 = default(DateTimeResult);
324 result2.Init(s);
325 if (!DateTimeParse.TryParseExact(s, format, DateTimeFormatInfo.GetInstance(provider), style, ref result2))
326 {
327 result = default(DateOnly);
328 return ParseFailureKind.FormatWithOriginalDateTime;
329 }
330 if ((result2.flags & (ParseFlags.HaveHour | ParseFlags.HaveMinute | ParseFlags.HaveSecond | ParseFlags.HaveTime | ParseFlags.TimeZoneUsed | ParseFlags.TimeZoneUtc | ParseFlags.CaptureOffset | ParseFlags.UtcSortPattern)) != 0)
331 {
332 result = default(DateOnly);
333 return ParseFailureKind.WrongParts;
334 }
335 result = new DateOnly(DayNumberFromDateTime(result2.parsedDate));
336 return ParseFailureKind.None;
337 }
338
339 public static bool TryParseExact(ReadOnlySpan<char> s, [NotNullWhen(true)] string?[]? formats, out DateOnly result)
340 {
341 return TryParseExact(s, formats, null, DateTimeStyles.None, out result);
342 }
343
344 public static bool TryParseExact(ReadOnlySpan<char> s, [NotNullWhen(true)] string?[]? formats, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
345 {
346 return TryParseExactInternal(s, formats, provider, style, out result) == ParseFailureKind.None;
347 }
348
350 {
351 if (((uint)style & 0xFFFFFFF8u) != 0 || formats == null)
352 {
353 result = default(DateOnly);
354 return ParseFailureKind.FormatWithParameter;
355 }
356 DateTimeFormatInfo instance = DateTimeFormatInfo.GetInstance(provider);
357 for (int i = 0; i < formats.Length; i++)
358 {
359 DateTimeFormatInfo dtfi = instance;
360 string text = formats[i];
361 if (string.IsNullOrEmpty(text))
362 {
363 result = default(DateOnly);
364 return ParseFailureKind.FormatWithFormatSpecifier;
365 }
366 if (text.Length == 1)
367 {
368 switch (text[0])
369 {
370 case 'O':
371 case 'o':
372 text = "yyyy'-'MM'-'dd";
373 dtfi = CultureInfo.InvariantCulture.DateTimeFormat;
374 break;
375 case 'R':
376 case 'r':
377 text = "ddd, dd MMM yyyy";
378 dtfi = CultureInfo.InvariantCulture.DateTimeFormat;
379 break;
380 }
381 }
382 DateTimeResult result2 = default(DateTimeResult);
383 result2.Init(s);
384 if (DateTimeParse.TryParseExact(s, text, dtfi, style, ref result2) && (result2.flags & (ParseFlags.HaveHour | ParseFlags.HaveMinute | ParseFlags.HaveSecond | ParseFlags.HaveTime | ParseFlags.TimeZoneUsed | ParseFlags.TimeZoneUtc | ParseFlags.CaptureOffset | ParseFlags.UtcSortPattern)) == 0)
385 {
386 result = new DateOnly(DayNumberFromDateTime(result2.parsedDate));
387 return ParseFailureKind.None;
388 }
389 }
390 result = default(DateOnly);
391 return ParseFailureKind.FormatWithOriginalDateTime;
392 }
393
394 public static bool TryParse([NotNullWhen(true)] string? s, out DateOnly result)
395 {
396 return TryParse(s, null, DateTimeStyles.None, out result);
397 }
398
399 public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
400 {
401 if (s == null)
402 {
403 result = default(DateOnly);
404 return false;
405 }
406 return TryParse(s.AsSpan(), provider, style, out result);
407 }
408
409 public static bool TryParseExact([NotNullWhen(true)] string? s, [NotNullWhen(true)] string? format, out DateOnly result)
410 {
411 return TryParseExact(s, format, null, DateTimeStyles.None, out result);
412 }
413
414 public static bool TryParseExact([NotNullWhen(true)] string? s, [NotNullWhen(true)] string? format, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
415 {
416 if (s == null || format == null)
417 {
418 result = default(DateOnly);
419 return false;
420 }
421 return TryParseExact(s.AsSpan(), format.AsSpan(), provider, style, out result);
422 }
423
424 public static bool TryParseExact([NotNullWhen(true)] string? s, [NotNullWhen(true)] string?[]? formats, out DateOnly result)
425 {
426 return TryParseExact(s, formats, null, DateTimeStyles.None, out result);
427 }
428
429 public static bool TryParseExact([NotNullWhen(true)] string? s, [NotNullWhen(true)] string?[]? formats, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
430 {
431 if (s == null)
432 {
433 result = default(DateOnly);
434 return false;
435 }
436 return TryParseExact(s.AsSpan(), formats, provider, style, out result);
437 }
438
440 {
441 switch (result)
442 {
443 case ParseFailureKind.FormatWithParameter:
445 case ParseFailureKind.FormatWithOriginalDateTime:
446 throw new FormatException(SR.Format(SR.Format_BadDateOnly, s.ToString()));
447 case ParseFailureKind.FormatWithFormatSpecifier:
449 default:
450 throw new FormatException(SR.Format(SR.Format_DateTimeOnlyContainsNoneDateParts, s.ToString(), "DateOnly"));
451 }
452 }
453
454 public string ToLongDateString()
455 {
456 return ToString("D");
457 }
458
459 public string ToShortDateString()
460 {
461 return ToString();
462 }
463
464 public override string ToString()
465 {
466 return ToString("d");
467 }
468
469 public string ToString(string? format)
470 {
471 return ToString(format, null);
472 }
473
474 public string ToString(IFormatProvider? provider)
475 {
476 return ToString("d", provider);
477 }
478
479 public string ToString(string? format, IFormatProvider? provider)
480 {
481 if (format == null || format.Length == 0)
482 {
483 format = "d";
484 }
485 if (format.Length == 1)
486 {
487 switch (format[0])
488 {
489 case 'O':
490 case 'o':
491 return string.Create(10, this, delegate(Span<char> destination, DateOnly value)
492 {
493 bool flag = DateTimeFormat.TryFormatDateOnlyO(value.Year, value.Month, value.Day, destination);
494 });
495 case 'R':
496 case 'r':
497 return string.Create(16, this, delegate(Span<char> destination, DateOnly value)
498 {
499 bool flag2 = DateTimeFormat.TryFormatDateOnlyR(value.DayOfWeek, value.Year, value.Month, value.Day, destination);
500 });
501 case 'D':
502 case 'M':
503 case 'Y':
504 case 'd':
505 case 'm':
506 case 'y':
508 default:
510 }
511 }
512 DateTimeFormat.IsValidCustomDateFormat(format.AsSpan(), throwOnError: true);
514 }
515
516 public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format = default(ReadOnlySpan<char>), IFormatProvider? provider = null)
517 {
518 if (format.Length == 0)
519 {
520 format = "d";
521 }
522 if (format.Length == 1)
523 {
524 switch (format[0])
525 {
526 case 'O':
527 case 'o':
529 {
530 charsWritten = 0;
531 return false;
532 }
533 charsWritten = 10;
534 return true;
535 case 'R':
536 case 'r':
538 {
539 charsWritten = 0;
540 return false;
541 }
542 charsWritten = 16;
543 return true;
544 case 'D':
545 case 'M':
546 case 'Y':
547 case 'd':
548 case 'm':
549 case 'y':
550 return DateTimeFormat.TryFormat(GetEquivalentDateTime(), destination, out charsWritten, format, provider);
551 default:
552 charsWritten = 0;
553 return false;
554 }
555 }
556 if (!DateTimeFormat.IsValidCustomDateFormat(format, throwOnError: false))
557 {
558 charsWritten = 0;
559 return false;
560 }
561 return DateTimeFormat.TryFormat(GetEquivalentDateTime(), destination, out charsWritten, format, provider);
562 }
563
564 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
566 {
567 return left < right;
568 }
569
570 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
571 static bool IComparisonOperators<DateOnly, DateOnly>.operator <=(DateOnly left, DateOnly right)
572 {
573 return left <= right;
574 }
575
576 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
578 {
579 return left > right;
580 }
581
582 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
583 static bool IComparisonOperators<DateOnly, DateOnly>.operator >=(DateOnly left, DateOnly right)
584 {
585 return left >= right;
586 }
587
588 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
589 static bool IEqualityOperators<DateOnly, DateOnly>.operator ==(DateOnly left, DateOnly right)
590 {
591 return left == right;
592 }
593
594 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
595 static bool IEqualityOperators<DateOnly, DateOnly>.operator !=(DateOnly left, DateOnly right)
596 {
597 return left != right;
598 }
599
600 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
602 {
603 return Parse(s, provider);
604 }
605
606 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
607 static bool IParseable<DateOnly>.TryParse([NotNullWhen(true)] string s, IFormatProvider provider, out DateOnly result)
608 {
609 return TryParse(s, provider, DateTimeStyles.None, out result);
610 }
611
612 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
614 {
615 return Parse(s, provider);
616 }
617
618 [RequiresPreviewFeatures("Generic Math is in preview.", Url = "https://aka.ms/dotnet-warnings/generic-math-preview")]
620 {
621 return TryParse(s, provider, DateTimeStyles.None, out result);
622 }
623}
static bool TryFormatDateOnlyO(int year, int month, int day, Span< char > destination)
static bool TryFormat(DateTime dateTime, Span< char > destination, out int charsWritten, ReadOnlySpan< char > format, IFormatProvider provider)
static string Format(DateTime dateTime, string format, IFormatProvider provider)
static bool IsValidCustomDateFormat(ReadOnlySpan< char > format, bool throwOnError)
static bool TryFormatDateOnlyR(DayOfWeek dayOfWeek, int year, int month, int day, Span< char > destination)
static bool TryParse(ReadOnlySpan< char > s, DateTimeFormatInfo dtfi, DateTimeStyles styles, out DateTime result)
static bool TryParseExact(ReadOnlySpan< char > s, ReadOnlySpan< char > format, DateTimeFormatInfo dtfi, DateTimeStyles style, out DateTime result)
static CultureInfo InvariantCulture
static string ArgumentOutOfRange_AddValue
Definition SR.cs:968
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string Argument_InvalidDateStyles
Definition SR.cs:668
static string Argument_BadFormatSpecifier
Definition SR.cs:488
static string Arg_MustBeDateOnly
Definition SR.cs:258
static string Format_DateTimeOnlyContainsNoneDateParts
Definition SR.cs:1328
static string Format_InvalidString
Definition SR.cs:1354
static string Format_BadDateOnly
Definition SR.cs:1324
Definition SR.cs:7
static void ThrowArgumentNullException(string name)
static void ThrowArgumentOutOfRange_DayNumber(int dayNumber)
static TSelf MinValue
static TSelf MaxValue
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out TSelf result)
static TSelf Parse(string s, IFormatProvider? provider)
static bool TryParse(ReadOnlySpan< char > s, IFormatProvider? provider, out TSelf result)
static TSelf Parse(ReadOnlySpan< char > s, IFormatProvider? provider)
DayOfWeek
Definition DayOfWeek.cs:4
static bool operator<=(DateOnly left, DateOnly right)
Definition DateOnly.cs:116
string ToString(string? format)
Definition DateOnly.cs:469
static DateOnly ParseExact(ReadOnlySpan< char > s, string[] formats, IFormatProvider? provider, DateTimeStyles style=DateTimeStyles.None)
Definition DateOnly.cs:200
override bool Equals([NotNullWhen(true)] object? value)
Definition DateOnly.cs:159
static bool TryParseExact(ReadOnlySpan< char > s, ReadOnlySpan< char > format, out DateOnly result)
Definition DateOnly.cs:290
static bool TryParseExact(ReadOnlySpan< char > s, ReadOnlySpan< char > format, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
Definition DateOnly.cs:295
static ParseFailureKind TryParseExactInternal(ReadOnlySpan< char > s, string[] formats, IFormatProvider provider, DateTimeStyles style, out DateOnly result)
Definition DateOnly.cs:349
static void ThrowOnError(ParseFailureKind result, ReadOnlySpan< char > s)
Definition DateOnly.cs:439
static ParseFailureKind TryParseInternal(ReadOnlySpan< char > s, IFormatProvider provider, DateTimeStyles style, out DateOnly result)
Definition DateOnly.cs:267
static DateOnly FromDayNumber(int dayNumber)
Definition DateOnly.cs:58
static bool TryParseExact(ReadOnlySpan< char > s, [NotNullWhen(true)] string?[]? formats, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
Definition DateOnly.cs:344
static DateOnly ParseExact(string s, string format)
Definition DateOnly.cs:225
static DateOnly Parse(ReadOnlySpan< char > s, IFormatProvider? provider=null, DateTimeStyles style=DateTimeStyles.None)
Definition DateOnly.cs:173
DateTime GetEquivalentDateTime()
Definition DateOnly.cs:38
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
Definition DateOnly.cs:399
static DateOnly ParseExact(ReadOnlySpan< char > s, string[] formats)
Definition DateOnly.cs:195
static bool operator==(DateOnly left, DateOnly right)
Definition DateOnly.cs:91
readonly int _dayNumber
Definition DateOnly.cs:9
DateOnly AddMonths(int value)
Definition DateOnly.cs:81
static DateOnly IMinMaxValue< DateOnly >. MaxValue
Definition DateOnly.cs:31
static bool TryParseExact([NotNullWhen(true)] string? s, [NotNullWhen(true)] string? format, out DateOnly result)
Definition DateOnly.cs:409
static DateOnly IMinMaxValue< DateOnly >. MinValue
Definition DateOnly.cs:28
static int DayNumberFromDateTime(DateTime dt)
Definition DateOnly.cs:33
DateOnly AddYears(int value)
Definition DateOnly.cs:86
static ParseFailureKind TryParseExactInternal(ReadOnlySpan< char > s, ReadOnlySpan< char > format, IFormatProvider provider, DateTimeStyles style, out DateOnly result)
Definition DateOnly.cs:300
bool TryFormat(Span< char > destination, out int charsWritten, ReadOnlySpan< char > format=default(ReadOnlySpan< char >), IFormatProvider? provider=null)
Definition DateOnly.cs:516
static bool TryParseExact([NotNullWhen(true)] string? s, [NotNullWhen(true)] string? format, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
Definition DateOnly.cs:414
static DateOnly ParseExact(string s, string[] formats, IFormatProvider? provider, DateTimeStyles style=DateTimeStyles.None)
Definition DateOnly.cs:248
override int GetHashCode()
Definition DateOnly.cs:168
string ToShortDateString()
Definition DateOnly.cs:459
static DateOnly ParseExact(string s, string[] formats)
Definition DateOnly.cs:243
static bool TryParse(ReadOnlySpan< char > s, out DateOnly result)
Definition DateOnly.cs:257
string ToLongDateString()
Definition DateOnly.cs:454
DateOnly(int year, int month, int day, Calendar calendar)
Definition DateOnly.cs:53
DateTime ToDateTime(TimeOnly time)
Definition DateOnly.cs:121
static DateOnly FromDateTime(DateTime dateTime)
Definition DateOnly.cs:131
static bool TryParseExact([NotNullWhen(true)] string? s, [NotNullWhen(true)] string?[]? formats, out DateOnly result)
Definition DateOnly.cs:424
static bool TryParseExact(ReadOnlySpan< char > s, [NotNullWhen(true)] string?[]? formats, out DateOnly result)
Definition DateOnly.cs:339
DateOnly(int year, int month, int day)
Definition DateOnly.cs:48
static DateOnly Parse(string s, IFormatProvider? provider, DateTimeStyles style=DateTimeStyles.None)
Definition DateOnly.cs:216
bool Equals(DateOnly value)
Definition DateOnly.cs:154
DateOnly AddDays(int value)
Definition DateOnly.cs:67
static DateOnly ParseExact(ReadOnlySpan< char > s, ReadOnlySpan< char > format, IFormatProvider? provider=null, DateTimeStyles style=DateTimeStyles.None)
Definition DateOnly.cs:184
string ToString(IFormatProvider? provider)
Definition DateOnly.cs:474
int CompareTo(DateOnly value)
Definition DateOnly.cs:136
static bool operator>=(DateOnly left, DateOnly right)
Definition DateOnly.cs:106
DateOnly(int dayNumber)
Definition DateOnly.cs:43
static bool TryParse([NotNullWhen(true)] string? s, out DateOnly result)
Definition DateOnly.cs:394
override string ToString()
Definition DateOnly.cs:464
static DateOnly MaxValue
Definition DateOnly.cs:13
static bool operator>(DateOnly left, DateOnly right)
Definition DateOnly.cs:101
DateTime ToDateTime(TimeOnly time, DateTimeKind kind)
Definition DateOnly.cs:126
static bool operator!=(DateOnly left, DateOnly right)
Definition DateOnly.cs:96
static bool TryParse(ReadOnlySpan< char > s, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
Definition DateOnly.cs:262
static bool TryParseExact([NotNullWhen(true)] string? s, [NotNullWhen(true)] string?[]? formats, IFormatProvider? provider, DateTimeStyles style, out DateOnly result)
Definition DateOnly.cs:429
static DateOnly MinValue
Definition DateOnly.cs:11
static DateOnly ParseExact(string s, string format, IFormatProvider? provider, DateTimeStyles style=DateTimeStyles.None)
Definition DateOnly.cs:230
int CompareTo(object? value)
Definition DateOnly.cs:141
static DateOnly Parse(string s)
Definition DateOnly.cs:211
static bool operator<(DateOnly left, DateOnly right)
Definition DateOnly.cs:111
string ToString(string? format, IFormatProvider? provider)
Definition DateOnly.cs:479
void Init(ReadOnlySpan< char > originalDateTimeString)
static DateTime UnsafeCreate(long ticks)
Definition DateTime.cs:176
DayOfWeek DayOfWeek
Definition DateTime.cs:76