One way you can do it is:
You need 2x GBA Pokémon games and some time.
THis is actually a glitch to transfer an unlimited amount of Pokémons at the PalPark in just one day, but it will cause a frozen in-game-clock to work again :)
1) Insert gamepak 1(i'm using Ruby) that you will be transferring some Pokémons from.
2) Transfer them, re-capture them at the PalPark(it can be 6x Zigzagoon/Ratatta/whatever)
3) Turn off the game, set the DS-clock ONE DAY FORWARD, don't touch the time.
4) Insert GamePak 2(i'm using LeafGreen) that you won't be transferring anything from.
5) Press "Migrate from Leaf Green" on the menu, and it will tell you that you have changed the clock, and ask if you want to reset the clock. Press Yes and wait a moment.
6) Transfer from Ruby again, and fix with the clock, but this time set the clock ONE DAY BACK, so that it is the correct date.
7) Reset the clock using LeafGreen, and your clock should be working again:)
Hope this helped!