Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serialization should consider DateTimeKind for UTC and non-UTC DateTimes #331

Closed
rianjs opened this issue Nov 7, 2017 · 1 comment
Closed

Comments

@rianjs
Copy link
Owner

rianjs commented Nov 7, 2017

Right now serialization doesn't handle DateTimeKind. This makes interop with some libraries (like Telerik's RadSchedule stuff) problematic. If we pay attention to the DateTimeKind, and preserve it during serialization and deserialization, interop will improve, and the library will provide higher-resolution results.

rianjs pushed a commit that referenced this issue Nov 7, 2017
- Use local time zones instead of doing everything in terms of UTC
- Set and compare DateTimeKind during serialization and deserialization
- Get rid of IsUniversalTime property in IDateTime
- IsUtc property is get-only
- AsSystemLocal no longer needs to do contortions to answer the question
- ToTimeZone returns local or UTC time zones for BCL, serialization, and
  IANA zones
- Better heuristics for determining whether a CalDateTime is UTC or local
- TzId setter now does all the state maintenance for UTC vs local
  bookkeeping, and all other related properties are get-only
- Consistent, ordinal string comparison in GetZone
- Truncating parts of DateTimes doesn't suck anymore
- Slightly better intellisense documentation
- Fixed a broken unit test
- Better local vs UTC time zone handling for Unit RRULEs with unit tests
- Fixed a bug in the RecurrencePatternEvaluator where tzId wasn't taking
  into account
- MatchTimeZone is less awkward and shorter

Issues: #331, #330
rianjs pushed a commit that referenced this issue Nov 7, 2017
- Use local time zones instead of doing everything in terms of UTC
- Set and compare DateTimeKind during serialization and deserialization
- Get rid of IsUniversalTime property in IDateTime
- IsUtc property is get-only
- AsSystemLocal no longer needs to do contortions to answer the question
- ToTimeZone returns local or UTC time zones for BCL, serialization, and
  IANA zones
- Better heuristics for determining whether a CalDateTime is UTC or local
- TzId setter now does all the state maintenance for UTC vs local
  bookkeeping, and all other related properties are get-only
- Consistent, ordinal string comparison in GetZone
- Truncating parts of DateTimes doesn't suck anymore
- Slightly better intellisense documentation
- Fixed a broken unit test
- Better local vs UTC time zone handling for Unit RRULEs with unit tests
- Fixed a bug in the RecurrencePatternEvaluator where tzId wasn't taking
  into account
- MatchTimeZone is less awkward and shorter

Issues: #331, #330, #332
rianjs pushed a commit that referenced this issue Nov 8, 2017
- Use local time zones instead of doing everything in terms of UTC
- Set and compare DateTimeKind during serialization and deserialization
- Get rid of IsUniversalTime property in IDateTime
- IsUtc property is get-only
- AsSystemLocal no longer needs to do contortions to answer the question
- ToTimeZone returns local or UTC time zones for BCL, serialization, and
  IANA zones
- Better heuristics for determining whether a CalDateTime is UTC or local
- TzId setter now does all the state maintenance for UTC vs local
  bookkeeping, and all other related properties are get-only
- Consistent, ordinal string comparison in GetZone
- Truncating parts of DateTimes doesn't suck anymore
- Slightly better intellisense documentation
- Fixed a broken unit test
- Better local vs UTC time zone handling for Unit RRULEs with unit tests
- Fixed a bug in the RecurrencePatternEvaluator where tzId wasn't taking
  into account
- MatchTimeZone is less awkward and shorter

Issues: #331, #330, #332
@rianjs
Copy link
Owner Author

rianjs commented Nov 13, 2017

Fixed in nuget version 4.0.0: https://www.nuget.org/packages/Ical.Net/4.0.0

@rianjs rianjs closed this as completed Nov 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant