A method for calculating remaining time of charging of a battery, the charging comprising at least one charging stage, the method for calculating the remaining time of the charging comprises: obtaining a charging mode and adjusting at least one of Rd c, I avg, Rdin, or I ln based on the charging mode, where Rd c represents a number of charging ampere hours required to charge the battery in a current charging stage, I avg represents an average current requested to charge the battery in the current charging stage, Rdin represents a number of charging ampere hours required to charge the battery in a subsequent n-th charging stage, and I ln represents a requested current requested to charge the battery in the subsequent n-th charging stage; and calculating the remaining time of the charging by T = Rd c I avg + ∑ Rd ln I ln, where T represents the remaining time of the charging, Rd c I avg represents charging time of the current charging stage, Rd ln I ln represents charging time of the subsequent n-th charging stage, and ∑ Rd ln I ln represents charging time of all subsequent charging stages, wherein said obtaining the charging mode and said adjusting the at least one of Rd c, I avg, Rd ln, or I ln based on the charging mode comprise: obtaining a dynamic change mode as the charging mode, and adjusting Iin to I ln2 based on the dynamic change mode, wherein I ln2 is obtained by: I ln2 = min(I ln, l avgpret), where l avgpret represents an average current value of a charging pile, and min(I ln, l avgpret) represents a smaller one of I ln and I avgpret; I avgpret is obtained by: obtaining the average current value of the charging pile in a time period of T1 as I avgpret in response to a duration of I p -M 1 >I 1 exceeding T1 during the charging, where I p represents a charging current requested by a battery management system, BMS, M 1 represents a current of the charging pile, I 1 represents a first predetermined current threshold, and T1 represents a first predetermined time threshold; and the dynamic change mode is a state in which the duration of I p -M 1 >I 1 exceeds T1 during the charging. obtaining a charging mode and adjusting at least one of Rd c, I avg, Rdin, or I ln based on the charging mode, where Rd c represents a number of charging ampere hours required to charge the battery in a current charging stage, I avg represents an average current requested to charge the battery in the current charging stage, Rdin represents a number of charging ampere hours required to charge the battery in a subsequent n-th charging stage, and I ln represents a requested current requested to charge the battery in the subsequent n-th charging stage; and calculating the remaining time of the charging by T = Rd c I avg + ∑ Rd ln I ln, where T represents the remaining time of the charging, Rd c I avg represents charging time of the current charging stage, Rd ln I ln represents charging time of the subsequent n-th charging stage, and ∑ Rd ln I ln represents charging time of all subsequent charging stages, wherein said obtaining the charging mode and said adjusting the at least one of Rd c, I avg, Rd ln, or I ln based on the charging mode comprise: obtaining a dynamic change mode as the charging mode, and adjusting Iin to I ln2 based on the dynamic change mode, wherein I ln2 is obtained by: I ln2 = min(I ln, l avgpret), where l avgpret represents an average current value of a charging pile, and min(I ln, l avgpret) represents a smaller one of I ln and I avgpret; I avgpret is obtained by: obtaining the average current value of the charging pile in a time period of T1 as I avgpret in response to a duration of I p -M 1 >I 1 exceeding T1 during the charging, where I p represents a charging current requested by a battery management system, BMS, M 1 represents a current of the charging pile, I 1 represents a first predetermined current threshold, and T1 represents a first predetermined time threshold; and the dynamic change mode is a state in which the duration of I p -M 1 >I 1 exceeds T1 during the charging. obtaining a dynamic change mode as the charging mode, and adjusting Iin to I ln2 based on the dynamic change mode, wherein I ln2 is obtained by: I ln2 = min(I ln, l avgpret), where l avgpret represents an average current value of a charging pile, and min(I ln, l avgpret) represents a smaller one of I ln and I avgpret; I avgpret is obtained by: obtaining the average current value of the charging pile in a time period of T1 as I avgpret in response to a duration of I p -M 1 >I 1 exceeding T1 during the charging, where I p represents a charging current requested by a battery management system, BMS, M 1 represents a current of the charging pile, I 1 represents a first predetermined current threshold, and T1 represents a first predetermined time threshold; and the dynamic change mode is a state in which the duration of I p -M 1 >I 1 exceeds T1 during the charging.