The property of a DateTime object which correlates directly to an int (long) is the "Ticks" property so if you want to cast a date to a number use that.
The error of cause appears because you assign some date to an int, which is anyway wrong as ticks need more space and have to be a big int, called long (short for long int) so the int doesn't fit the number it could generate and therefore it wont work in essence unless you tell it how.
Interesting the following is possible although not recommended because it will give runtime errors eventually running regular dates :)
var x = (int) DateTime.UtcNow.Ticks;