Days till Xmas

My daughter loves christmas.  She often asks me, "how long is it till christmas?"  The problem with that is that I'm one of those people that can barely remember what year it is much less the date.  Well, it is one thing to be a flawed person and its another thing to disappoint your daughter.  Monad to the rescue!

Here is a little date math routine I wrote to help me out:

function tillXmas ()
    $now = [DateTime]::Now
    [Datetime]("12/25/" + $now.Year) - $Now

MSH> tillxmas

Days              : 321
Hours             : 18
Minutes           : 8
Seconds           : 26
Milliseconds      : 171
Ticks             : 277997061718750
TotalDays         : 321.755858470775
TotalHours        : 7722.14060329861
TotalMinutes      : 463328.436197917
TotalSeconds      : 27799706.171875
TotalMilliseconds : 27799706171.875

Thanks to Monad, I can tell my daughter how many seconds to go till Xmas!  Now if I can only get her to stop asking me in the car.

Here is an exercise for you - calculate what time I ran this example (hint - think "date math" and use the Ticks value)


Jeffrey P. Snover
Monad Architect

Comments (6)

  1. steven says:

    I’d say you ran it far too early this morning (5:51:34)?

  2. MSDN Archive says:

    We’ve got a winner!  Here is the solution.

    MSH> [datetime]"12/25/2006" – [timespan]277997061718750

    Monday, February 06, 2006 5:51:33 AM

    The punchline is that there are a lot of .NET types which save you a ton pain and bugs by doing their own string parsing.  Leverage this whenever you can.

    Jeffrey P. Snover [MSFT]

  3. Ifeanyi Echeruo says:

    Amen to that. Did somebody say System.Uri?

  4. //o// says:

    an other way :


    I did this for newyear with a big clock :

    and for the Daylight Time change :

    gr //o//

  5. applepwc says:


     I have a question to distruble you:

     where can I find more ".NET types"?I mean is there a list of ".NET type"  available in monad?

     thanks for your reply.


  6. applepwc says:

    I’m very sorry for my inattention.

    "jeffery" should be "jeffrey"

Skip to main content