An engine misfire diagnostic apparatus comprising: a sensor arranged to detect a rotational position of a crankshaft provided in an engine, characterized by a time measuring section that measures an amount of time required for a crankshaft to pass through a prescribed crank angle range corresponding to a combustion stroke based on a signal from the sensor to obtain time measurement values on a per cylinder basis; a time measurement value storing section that stores the time measurement values measured by the time measuring section for each ignition on a per-cylinder basis; a first misfire parameter (MISB) calculating section that calculates a first misfire parameter based on a first value obtained by adding a difference between a stored time measurement value for a designated cylinder and a stored time measurement value for an opposing cylinder corresponding to one crankshaft rotation prior and a difference between the stored time measurement value for the designated cylinder and a stored time measurement value for the opposing cylinder corresponding to one crankshaft rotation later with respect to the one crankshaft rotation prior of the opposing cylinder; a second misfire parameter (MISA) calculating section that calculates a second misfire parameter based on a second value obtained by adding a difference between the stored time measurement value for the designated cylinder and a stored time measurement value of a first reference cylinder whose ignition occurs one ignition prior to an ignition of the designated cylinder and a difference between the stored time measurement value of the designated cylinder and a stored time measurement value of a second reference cylinder whose ignition occurs later than the ignition of the designated cylinder, the differences being weighted according to a prescribed ratio; a determination value setting section that sets a determination value using a mathematical relationship between the second misfire parameter and a derivative value of the first misfire parameter; and a misfire determining section that determines whether the designated cylinder has misfired based on the determination value. a sensor arranged to detect a rotational position of a crankshaft provided in an engine, characterized by a time measuring section that measures an amount of time required for a crankshaft to pass through a prescribed crank angle range corresponding to a combustion stroke based on a signal from the sensor to obtain time measurement values on a per cylinder basis; a time measurement value storing section that stores the time measurement values measured by the time measuring section for each ignition on a per-cylinder basis; a first misfire parameter (MISB) calculating section that calculates a first misfire parameter based on a first value obtained by adding a difference between a stored time measurement value for a designated cylinder and a stored time measurement value for an opposing cylinder corresponding to one crankshaft rotation prior and a difference between the stored time measurement value for the designated cylinder and a stored time measurement value for the opposing cylinder corresponding to one crankshaft rotation later with respect to the one crankshaft rotation prior of the opposing cylinder; a second misfire parameter (MISA) calculating section that calculates a second misfire parameter based on a second value obtained by adding a difference between the stored time measurement value for the designated cylinder and a stored time measurement value of a first reference cylinder whose ignition occurs one ignition prior to an ignition of the designated cylinder and a difference between the stored time measurement value of the designated cylinder and a stored time measurement value of a second reference cylinder whose ignition occurs later than the ignition of the designated cylinder, the differences being weighted according to a prescribed ratio; a determination value setting section that sets a determination value using a mathematical relationship between the second misfire parameter and a derivative value of the first misfire parameter; and a misfire determining section that determines whether the designated cylinder has misfired based on the determination value.