It takes approximately six to eight weeks to recover from a punctured lung, unless there are unforeseen complications, which can be common.