Date and Time Fundamentals in .NET and SQL Server
4.3 (8 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
59 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Date and Time Fundamentals in .NET and SQL Server to your Wishlist.

Add to Wishlist

Date and Time Fundamentals in .NET and SQL Server

Learn how to work with date and time values properly.
New
4.3 (8 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
59 students enrolled
Created by Elias Fofanov
Last updated 8/2017
English
English
Current price: $12 Original price: $35 Discount: 66% off
3 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 3.5 hours on-demand video
  • 2 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Use date & time related types from BCL properly
  • Use Noda Time for writing reliable code
  • Avoid common mistakes
  • Apply best practices of working with date and time values
View Curriculum
Requirements
  • You should have some experience in C# (nothing more)
Description

Teaching Approach

No fluff, no ranting, no beating the air. I esteem your time. The course material is succinct, yet comprehensive. All the important concepts are covered. Particularly important topics are covered in-depth. For absolute beginners, I offer my help on Skype absolutely free, if requested.

Take this course, and you will be satisfied.

Build a solid foundation of working with Date and Time with this course

Almost all the software works with date and time in one form or another. Some programs, of course, need to work with date and time more than other. However, date and time hide many pitfalls even in very simple scenarios. We all know that security and logging are regular aspects of almost any program. There is a wise phrase that sounds like: “Developers recall about security when it is too late.” The same can be said about date and time. Most developers don’t even imagine how many bugs are hiding behind the simple face of date and time. Those bugs are sitting in programs and waiting for their moment to blow up your production code causing very unfortunate repercussions. That’s why working with date and time is the full-fledged and very important aspect of software development.

Have you watched magnificent enlightening TV Shows by BBC? This course in some parts is like those BBC shows, because you’ll learn many interesting surprising facts. Besides, being familiar with peculiarities of working with date and time, you can write much more reliable and maintainable applications.

Content and Overview

This course is aimed at all kind of developers. It provides solid theoretical base reinforced by practical material.

We start with basics of date and time. I’ll show you some real cases when bugs related to date and time caused unpleasant consequences, event deaths of people. You’ll learn why the hell Gregorian calendar was introduced, why the 5th of October 1582 doesn’t exist at all. And did you know that actually a minute can last more than 60 seconds? Yes, you heard that, a minute can last more than 60 seconds. You’ll learn what is UTC, GMT, what is the difference between them and how time gets synchronized between computers all over the world. And by the way, what is time at all, how humanity measures it? After that, you’ll be introduced to the concept of time zones, you’ll learn about different standards that regulate date and time formatting. You’ll learn what is Epoch Time and Unix Time. Finally, you’ll understand the difference between different date-time scopes and perspectives.

The next section is dedicated to Time Zones where you’ll learn about daylight saving time and different very odd case with time transitions back and forth. I’ll give you a full definition of a time zone. You’ll learn more about providers of time zone information: IANA and Microsoft. You’ll learn many interesting facts and what fallacies exist about time zones.

The third section is all about date and time related types from BCL in .NET. You’ll learn about DateTime, DateTimeOffset, TimeZoneInfo, TimeSpan, Calendars and Stopwatch. I’ll show you that DateTime hides many pitfalls. You’ll learn that actual precision of BCL types is not equal to 100 nanoseconds as declared in the documentation. You’ll see how many calendars exist and what we can do with them. The third section reveals all the problems with the types built-in to BCL, so in the next section, you’ll learn about a third-party library called “Noda Time”.

Yes, a whole section is dedicated to the Noda Time library. You’ll learn about features provided by this library. You’ll get an overview of all the core types such as: LocalTime, LocalDate, LocalDateTime, Instant, Interval, Duration, ZonedDateTime and others. You’ll also learn how to write unit tests on code which uses date and time values with the help of Noda Time.

The whole section is dedicated to best practices of working with date and time. You’ll see some astonishing things like arithmetic on dates and problems of birthday calculation. You’ll learn the problems related to parsing and how to overcome them. I’ll show you the problems of events scheduling and what to do to avoid common mistakes. You’ll learn about date and time ranges, “intervals” is a separate peculiar topic. I’ll also show some additional best practices.

In other words, an exciting journey is waiting for you, just take it, relax and enjoy.

So, in short, the course covers the following topics:

  • Date and Time Fundamentals: Gregorian calendar, UTC, GMT, Atomic Time, How Computers Store Time, NTP, Date and Time Formats based on Standards and Specifications, Epoch Time and Unit Time, Date and Time Scope and Perspective
  • Time Zones: Definition (complex one), Daylight-Saving Time (DST), Providers such as IANA or TZDB and Microsoft
  • Date and Time in .NET: DateTime, DateTimeOffset, TimeZoneInfo, TimeSpan, Calendars, Stopwatch and many intrinsic details.
  • Noda Time: overview, core types, unit testing
  • A great number of best practices of working with Date and Time: arithmetic on dates, parsing, calculating of birthdays, scheduling events, date formats, ranges and other.

In the end, we will recap what you have learned.

How long is this course: The course is around 3 hours. All are video lectures. You will be able to download all the slides and code samples used in the course.

Keywords.

  • C# datetime, C# datetime format, datetime parse, C# datetimeoffset, date and time fundamentals, datetime in .net, noda time, nodatime, C# datetime now, C# string to datetime, C# tostring format, utc now
  • SQL date, SQL Server Date Functions, SQL Date Functions, DateTime SQL, SQL Server DateTime.
Who is the target audience?
  • Anyone who is interested in working with date and time
  • C# developers who want to write reliable code that works with date and time
Compare to Other .NET Courses
Curriculum For This Course
50 Lectures
03:23:49
+
Theoretical Background
14 Lectures 52:41
How to Ask Questions
00:22


Why You Need to Learn About Date and Time
03:40


How a PC Stores and Measures Time
02:24

Timers (Counters). Advanced Lecture
02:03

Atomic Time
02:27

UTC and GMT
02:47

Introduction to Time Zones
01:43

Date Formats
10:28

Unix and Epoch Time
02:21

Scope
04:13

Perspective
04:50

Conclusion
02:25
+
Time Zones
6 Lectures 25:55
Outline
00:49

Daylight Saving Time (DST)
08:51

What is a Time Zone?
07:57

IANA Time Zone Database (TZDB)
03:27

Microsoft Time Zone Database
02:58

Conclusion
01:53
+
Date and Time in the .NET Framework
9 Lectures 38:48
Outline
00:55

DateTime Structure
09:05

DateTime Roundtrip Example
06:20

DateTimeOffset
04:04

TimeZoneInfo - Working with Time Zones
02:00

TimeSpan
03:25

Calendars
03:38

Stopwatch
03:27

Conclusion on BCL Types
05:54
+
Noda Time
4 Lectures 23:24
Overview
04:04

Core Types
13:02

Unit Testing with Noda Time
03:30

Conclusion
02:48
+
Date & Time in SQL Server
7 Lectures 28:18
Outline
02:21

DATE
05:37

TIME
02:41

DATETIME
03:31

Functions
08:24

DATETIMEOFFSET and Time Zones
03:59

Conclusion
01:45
+
Best Practices of Working with Dates and Times
10 Lectures 34:52
Outline
01:05


The Problem of Parsing
06:04

Calculating a Birthday
05:16

Scheduling Events
03:54

Date Formats
02:14

Working with Ranges
05:27

Other Best Practices
03:10

Conclusion
01:51

BONUS LECTURE
01:18
About the Instructor
Elias Fofanov
4.3 Average rating
948 Reviews
10,339 Students
9 Courses
Software Engineer

I'm thankful enough for that I love what I do.

I began my career as a postgraduate student participating in Microsoft ImagineCup contest.

I've been working with .NET platform since 2003. I've been professionally architecting and implementing software for nearly 7 years, primarily based on .NET platform. I'm passionate about building rich and powerful applications using modern technologies. I'm a certified specialist in Windows Applications and Service Communication Applications by Microsoft. I'm one of the coordinators of the MSK.NET User Group in Moscow.

"If it's work, we try to do less. If it's art, we try to do more." - Seth Godin.

What I can say is that software is my art.