def format_jd_as_iso_date_time(jd, scale='utc', precision=0, **kwargs):
    """Format a Julian Date value as an ISO 8601 date and time, returning a
    string.

    The return value will look like `2016-07-24 11:04:36`. Sub-second
    precision is truncated by default, but can be preserved by using the
    `precision` keword, which specifies the number of sub-second decimal
    places to include in the return value.

    The `scale` keyword argument and remaining keyword arguments are passed to
    the constructor for the AstroPy `Time` class. The defaults should be fine
    in most cases, though, but be careful about the timescale.

    """
    from astropy.time import Time
    t = Time(jd, format='jd', scale=scale, precision=precision, **kwargs)
    return t.iso
