A fuel injection controller for an internal combustion engine configured to calculate a fuel injection amount and an injection starting point of time in accordance with an operation state of the internal combustion engine, start energization to an injector at the injection starting point of time, and stop the energization to the injector when an injection time calculated based on the fuel injection amount and a fuel pressure that is a pressure of fuel supplied to the injector elapses from the injection starting point of time, the fuel injection controller comprising: a first calculation section configured to acquire the fuel pressure at a predetermined point of time before the injection starting point of time and calculate the injection time using the acquired fuel pressure; and a second calculation section configured to acquire the fuel pressure when the injection starting point of time arrives and calculate the injection time using the acquired fuel pressure, wherein the fuel injection controller is configured to set a point of time to stop the energization to the injector based on a calculation result of the injection time by the first calculation section before starting the energization to the injector, and reset the point of time to stop the energization to the injector based on a calculation result of the injection time by the second calculation section after starting the energization to the injector wherein a time from a start of energization to the injector until a start of a fuel injection by the injector is defined as an ineffective injection time, a time from the start of the fuel injection by the injector until an end of the energization is defined as an effective injection time, characterised in that the first calculation section is configured to calculate the ineffective injection time and the effective injection time based on the acquired fuel pressure, and calculate, as the injection time, a value obtained by totaling the calculated ineffective injection time and effective injection time, and the second calculation section is configured to calculate the ineffective injection time based on the acquired fuel pressure, and calculate, as the injection time, a value obtained by totaling the calculated ineffective injection time and the effective injection time calculated by the first calculation section. a first calculation section configured to acquire the fuel pressure at a predetermined point of time before the injection starting point of time and calculate the injection time using the acquired fuel pressure; and a second calculation section configured to acquire the fuel pressure when the injection starting point of time arrives and calculate the injection time using the acquired fuel pressure, wherein the fuel injection controller is configured to set a point of time to stop the energization to the injector based on a calculation result of the injection time by the first calculation section before starting the energization to the injector, and reset the point of time to stop the energization to the injector based on a calculation result of the injection time by the second calculation section after starting the energization to the injector set a point of time to stop the energization to the injector based on a calculation result of the injection time by the first calculation section before starting the energization to the injector, and reset the point of time to stop the energization to the injector based on a calculation result of the injection time by the second calculation section after starting the energization to the injector wherein a time from a start of energization to the injector until a start of a fuel injection by the injector is defined as an ineffective injection time, a time from the start of the fuel injection by the injector until an end of the energization is defined as an effective injection time, characterised in that the first calculation section is configured to calculate the ineffective injection time and the effective injection time based on the acquired fuel pressure, and calculate, as the injection time, a value obtained by totaling the calculated ineffective injection time and effective injection time, and calculate the ineffective injection time and the effective injection time based on the acquired fuel pressure, and calculate, as the injection time, a value obtained by totaling the calculated ineffective injection time and effective injection time, and the second calculation section is configured to calculate the ineffective injection time based on the acquired fuel pressure, and calculate, as the injection time, a value obtained by totaling the calculated ineffective injection time and the effective injection time calculated by the first calculation section. calculate the ineffective injection time based on the acquired fuel pressure, and calculate, as the injection time, a value obtained by totaling the calculated ineffective injection time and the effective injection time calculated by the first calculation section.