callback should be async
use input timezone when first argument is null
bugfix: TDIS-5414. change change time/string format to be consistent with test case