'Return the platform-specific subclass.
It does not use load_platform_subclass() because it need to judge based
on whether the `timedatectl` command exists.
Args:
module: The AnsibleModule.'

def __new__(cls, module):

    if (get_platform() == 'Linux'):
        if (module.get_bin_path('timedatectl') is not None):
            return super(Timezone, SystemdTimezone).__new__(SystemdTimezone)
        else:
            return super(Timezone, NosystemdTimezone).__new__(NosystemdTimezone)
    else:
        return super(Timezone, Timezone).__new__(Timezone)
