A method of time charging to DHCP online users in a broadband access server, comprising the following steps: a) setting an inner time interval, an outer time interval and a flow threshold for counting data flow of users in the broadband access server, wherein the inner time interval is used for monitoring user flow in the broadband access server, the outer time interval is used for detecting idle state at outside of a system, and the inner time interval is shorter than the outer time interval; b) starting time charging to users by instruction of the access server after users access the access server and are authenticated successfully; c) establishing a circular link list to each user for recording data flow of the user in the access server; d) defining a number of elements in the circular link list as a multiple of the outer time interval to the inner time interval in the access server (130, 300); and e) detecting data flow of the user according to the inner time interval in the access server, and recording the data flow as a content of an element of a head pointer of the circular link list in turn, until data flow newly detected and the content recorded in the element of the head pointer are not more than the flow threshold, wherein when the circular link list is not full, the method further comprises the following step in step e): e1) comparing each new data flow value with the content of the element of the head pointer in the circular link list, after compared, if the user is not in idle state, saving the new data flow value in the content of the element of the head pointer and meanwhile, moving the head and tail pointers down one position, so as to ensure that the content of the element of the head pointer still is flow value before one idle detecting interval and the content of the element pointed by the tail pointer still is the latest data flow result detected; when the circular link list is full, the method further comprises the following step in step e): e2) comparing new data flow value detected with the content of the element of the head pointer, if the comparing result exceeds the flow threshold, the new data flow value overwriting the content of the element of the head pointer, and meanwhile, moving the head and tail pointers down one position, so as to ensure that the content of the element of the head pointer still is flow value before one idle detecting interval and the content of the element pointed by the tail pointer still is the latest data flow result detected; the method further comprises: f) deciding that the user is in idle state in the access server when the comparing result of the content of the element of the tail pointer minus the content of the element of the head pointer does not exceed the flow threshold; and g) stopping time charging to the user by instruction of the access server. a) setting an inner time interval, an outer time interval and a flow threshold for counting data flow of users in the broadband access server, wherein the inner time interval is used for monitoring user flow in the broadband access server, the outer time interval is used for detecting idle state at outside of a system, and the inner time interval is shorter than the outer time interval; b) starting time charging to users by instruction of the access server after users access the access server and are authenticated successfully; c) establishing a circular link list to each user for recording data flow of the user in the access server; d) defining a number of elements in the circular link list as a multiple of the outer time interval to the inner time interval in the access server (130, 300); and e) detecting data flow of the user according to the inner time interval in the access server, and recording the data flow as a content of an element of a head pointer of the circular link list in turn, until data flow newly detected and the content recorded in the element of the head pointer are not more than the flow threshold, e1) comparing each new data flow value with the content of the element of the head pointer in the circular link list, after compared, if the user is not in idle state, saving the new data flow value in the content of the element of the head pointer and meanwhile, moving the head and tail pointers down one position, so as to ensure that the content of the element of the head pointer still is flow value before one idle detecting interval and the content of the element pointed by the tail pointer still is the latest data flow result detected; e2) comparing new data flow value detected with the content of the element of the head pointer, if the comparing result exceeds the flow threshold, the new data flow value overwriting the content of the element of the head pointer, and meanwhile, moving the head and tail pointers down one position, so as to ensure that the content of the element of the head pointer still is flow value before one idle detecting interval and the content of the element pointed by the tail pointer still is the latest data flow result detected; f) deciding that the user is in idle state in the access server when the comparing result of the content of the element of the tail pointer minus the content of the element of the head pointer does not exceed the flow threshold; and g) stopping time charging to the user by instruction of the access server.