def utime(self, path, times):
path = self._adjust_cwd(path)<EOL>if times is None:<EOL><INDENT>times = (time.time(), time.time())<EOL><DEDENT>self._log(DEBUG, "<STR_LIT>".format(path, times))<EOL>attr = SFTPAttributes()<EOL>attr.st_atime, attr.st_mtime = times<EOL>self._request(CMD_SETSTAT, path, attr)<EOL>
Set the access and modified times of the file specified by ``path``.
If ``times`` is ``None``, then the file's access and modified times
are set to the current time.  Otherwise, ``times`` must be a 2-tuple
of numbers, of the form ``(atime, mtime)``, which is used to set the
access and modified times, respectively.  This bizarre API is mimicked
from Python for the sake of consistency -- I apologize.

:param str path: path of the file to modify
:param tuple times:
    ``None`` or a tuple of (access time, modified time) in standard
    internet epoch time (seconds since 01 January 1970 GMT)