We study the problem of minimizing data aggregation time in wireless sensor networks (WSNs) under the practical duty-cycle scenario where nodes switch between active states and dormant states periodically for energy efficiency. Under the protocol interference model, we show that the problem is NP-hard and present a lower bound of delay for any data aggregation scheme. To solve the problem efficiently, we then construct a routing tree based on connected dominator set and propose two aggregation scheduling algorithms, which are the centralized Greedy Aggregation Scheduling (GAS) and the distributed Partitioned Aggregation Scheduling (PAS), so as to generate collision-free transmission schedules for data aggregation in duty-cycled WSNs. To minimize the total delay, GAS tries to achieve maximal concurrent transmissions in each time-slot during each frame by using global information, while PAS leverages a network partition based strategy and local information to ensure the largest degree of channel reuse across space and time domains. Theoretical analysis indicates that each algorithm consumes at most $$O(R+\varDelta)$$ O ( R + Δ ) frames and achieves nearly constant factor approximation on the optimal delay. Here R and $$\varDelta$$ Δ are the network radius and the maximum node degree, respectively. We also evaluate the practicability of our algorithms by extensive simulations under various network conditions and the results corroborate our theoretical analysis.