Muhammad Waseem Profile picture
Jun 18 โ€ข 5 tweets โ€ข 2 min read Twitter logo Read on Twitter
Why should we use NodaTime over Default .NET DateTime ?

These are the 7 reasons

1) Lack of clarity in DateTime especially when comparing local and UTC times๐Ÿ”ฝ๐Ÿ‘‡

#dotnet Image
2) DateTimeKind property and various operations like ToUniversalTime() and ToLocalTime() can lead to unexpected results

3) DateTime does not provide a comprehensive solution for handling time zones.

#dotnet
4) TimeZoneInfo, used in .NET, relies on Windows time zone IDs, which may differ from widely used Olson (tz) identifiers

5) Unfortunately humanity didโ€™ not agree on single calendar (Gregorian, Julian, Coptic and Buddhist) , NodaTime covers this space which default lacks

#dotnet
6) Instead of maintaining offset in default Noda gives you facility of using ZonedDateTime

7) I love their documentation , I have not seen such an amazing documentation yet. They really care and understand the needs of users

#dotnet
Yesterday 3550+ Software Engineers read about it via my Newsletter.

If you missed it read it here ๐Ÿ‘‡

mwaseemzakir.substack.com/p/ep-17-noda-tโ€ฆ

#dotnet

โ€ข โ€ข โ€ข

Missing some Tweet in this thread? You can try to force a refresh
ใ€€

Keep Current with Muhammad Waseem

Muhammad Waseem Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @mwaseemzakir

Jun 20
Are you struggling to find right resources to learn C# and .NET then check these out ?

๐˜๐จ๐ฎ๐“๐ฎ๐›๐ž ๐‚๐ก๐š๐ง๐ง๐ž๐ฅ๐ฌ
- Dotnet (bit.ly/3L2CUqn)
- Edureka (bit.ly/3GLdT0k)
- Brackeys (bit.ly/3zYDMWA)
- Kudvenkat (bit.ly/3MGsSfK)๐Ÿงต๐Ÿ‘‡

#dotnet
- QuestPond (bit.ly/3N303KP)
- Nick Chapsas (bit.ly/3MKFhiz)
- Derek Banas (bit.ly/41wU9FM)
- Milan Jovanoviฤ‡ (bit.ly/3zXoPEi)
- I am Tim Corey (bit.ly/3UD0zAI)
- FreecodeCamp (bit.ly/3GMDVQC)
- NDC Conferences (bit.ly/419dPQc)
- Programming with Mosh (bit.ly/3KEuLqL)

๐Œ๐ข๐œ๐ซ๐จ๐ฌ๐จ๐Ÿ๐ญ ๐•๐ข๐๐ž๐จ ๐“๐ฎ๐ญ๐จ๐ซ๐ข๐š๐ฅ๐ฌ
- C# (bit.ly/41l0qEg)
- Desktop (bit.ly/3o82scH)
- ASP .NET (bit.ly/413blCU)
Read 10 tweets
May 13
What is the difference b/w field and property , what are the different types of properties in C# ?

- Properties
- Field vs Properties
- 6 Types of Properties

#dotnet Image
Properties vs Field

- Properties are first class citizens in C#
- We used properties to achieve abstraction
- Properties are implemented via accessors
- Enable developers to write code that accurately expresses their design intent
#dotnet Image
Read only Properties

- Serve the purpose of getters
- Use them for retrieving the information in DTO
- We can not set them

#dotnet Image
Read 8 tweets
Apr 29
๐Ÿ’ก๐ƒ๐จ๐งโ€™๐ญ ๐‘๐ž๐ฉ๐ž๐š๐ญ ๐˜๐จ๐ฎ๐ซ๐ฌ๐ž๐ฅ๐Ÿ (๐ƒ๐‘๐˜) ๐๐ซ๐ข๐ง๐œ๐ข๐ฉ๐ฅ๐ž

It states that donโ€™t repeat yourself what it means it is saying donโ€™t duplicate code , avoid duplication. Purpose is to reduce the redundant code in your application ๐Ÿงตโฌ
#dotnet Image
Following the DRY Principle can give us following benefits

1.ย  Improved maintainability of code

2.ย  Reduces the risks of bugs

3.ย  Code becomes easier to understand

#dotnet
If you are not applying DRY Principle you need to test/debug all process separately for similar code.

We can fulfil DRY Principle using Inheritance and Polymorphism.

#dotnet
Read 5 tweets
Apr 17
๐Ÿ’ก NULL Operators Guide in C#

- Ternary Operator (? :)

- Null Forgiving Operator (!.)

- Null Conditional Operator (?.)

- Null Coalescing Operator (??)

- Null Coalescing Assignment Operator (??=) ๐Ÿงตโฌ

#dotnet Image
Ternary Operator or Conditional Operator(?.) ย is used to evaluate a condition and then we can do something on that basis for true and false

#dotnet
Null Forgiving or Null Suppression Operator (!.) ย is used to suppress all nullable warnings for preceding expression. It has no effect on runtime

#dotnet
Read 7 tweets
Apr 16
๐Ÿ’กHTTP Client Class in C#

. Introduction
Methods
Properties
Dependency injection ๐Ÿงตโฌ

#dotnet Image
HttpClient is a class in C# that is used for making HTTP calls of different kinds (most commonly Get/Put/Delete/Post).This class comes from namespace System.Net.Http
Most commonly used methods of this class are
- GetAsync
- DeleteAsync
- PostAsync
- PutAsync
- Dispose

#dotnet
Read 5 tweets
Apr 9
๐Ÿ’ก 15+ .NET Libraries you should Know

Now a days libraries play an important role in your development, start learning these librariesย for a good development experience.

- Mediator for CQRS
- Dapper for micro-ORM

See more๐Ÿงตโฌ
#dotnet Image
- Serilog and NLog for logging

- Bogus for fake data generation

- Fluent Validation for validations

- SignalR for real time communication

- Moq for mock interfaces and classes

- Hangfire and Quartz for background jobs

- Noda Time best in the town for date-time

#dotnet
- Autofac for Dependency Injection Container

- MiniProfiler for profiling your application

- Automapper, Mapster and Mapperley for Mappings

- Polly for fault handling (Retry, Circuit Break)

#dotnet
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(