EDIT: Not a bug. My previous answer (below) is incorrect. A DateTime object holds "number of ticks since 12:00 midnight, January 1, 0001 A.D. (C.E.)". A FileTime is the number of ticks from 12:00 midnight, January 1, 1601 A.D.
Very interesting! It looks like the "(Get-Date).ToFileTime"), which should be returning the number of ticks since 1-Jan-1601 00:00:00Z, isn't doing that. It's off by 1601 years!
[int64]$Ftime=(get-date).ToFileTime() [int64]$Ctime=(get-date).ticks [int64]$Diff = $Ctime - $Ftime Get-Date $Diff [int64]$NewFtime = $Ftime + $Diff Get-Date $NewFtime
However, if you're interested in getting the date as a number of ticks you can simply use "(Get-Date).Ticks"