Our main goal in this paper is to construct codes that can perform close to information-theoretic limits in time-varying channels. For this purpose, a new turbo-like code is first proposed for the block-fading channel which achieves the same error performance of a recently introduced blockwise concatenated code but with a lower complexity. The effectiveness of the codes are verified by comparing them with information-outage probability. In order to take the advantage of time diversity in time-varying fading channels, we introduce two new codes which are indeed extensions of the ones for block-fading channels. We report that error performance of the proposed codes is close to information-theoretic limits in time-varying channels set out by information-outage probability.