Time value can be negative for puts but not calls because your upside is capped on a put but not on a call. Your payoff on a put can be at most the strike K, which happens in the case that the underlying price is 0 at expiry.
For example imagine the underlying price did go to zero (or very close to zero). Then the intrinsic value of your put would be K. However, the value of the put is bounded above by K * exp(-r(T-t)), the present value of the max possible payoff, which is less than K (for r>0). Hence the time value is negative.
This can’t happen for a call because however high the underlying price goes it can still go higher, so we can’t make the same argument about the present value being capped by the intrinsic value. And, from an intuitive point of view, the value of a call should always be higher than the payoff because there is always the chance the underlying can go higher and give a higher payoff (and your downside is capped). So time value for a call is positive. This differs from holding a deep in the money put you can’t really improve much further.
The argument above also describes when a put has negative time value. This will happen with some combination of: deep in the money (payoff close to K), a high risk-free rate r, long time to maturity T-t.
Last edited: Jan 10, 2023