update achievement gain date to submission date(not grading date)

1. It makes the leaderboard more fair.
2. Tested properly, it works.
Metrics/LineLength: Line is too long. [132/130]<br>Style/DotPosition: Place the . on the previous line, together with the method call receiver.<br>Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.