[enh] Use path.join to handle path, and change utimes