O comando date
incorporado será avaliado apenas uma vez: quando o alias for criado. É por isso que recarregar o .zshrc faz com que funcione novamente. Se você usar uma função como djf sugerido, ela será avaliada toda vez que parecer ser o comportamento desejado.