Because i think the game uses the internal clock in ruby to determine whether a whole day passed since the last time you migrated.
Yes, you can. It is not Ruby that determines the day, but your Diamond that will. Since your DS has the internal clock in it, Diamond will use that clock to tell it if a day passed yet or not.
How to change your username
How to add a user avatar
Why was my post hidden?
The points system
Flags vs Downvotes
Type a Pokemon name, type, move or ability to see instant results.