With the rapid growth of data scale, the problems of collaborative filtering recommendation algorithm are more and more obvious, such as data sparsity, cold start, scalability, and the change of user interest over time. About the existing problems, we introduce the fuzzy clustering and propose a collaborative filtering algorithm based on fuzzy C-means clustering. The algorithm performs fuzzy clustering on the item attribute information to make items belonging to different categories in different membership degree, increases the data density, effectively reduces the data sparsity, and solves the issue that the inaccuracy of similarity leads to the low recommendation accuracy. Meanwhile, the algorithm introduces the time weight function. Different evaluation times give different time weight values, and recently evaluated items are more representative of the user current interest, so we give a higher weight value, and early evaluated items have less effect on the user current interest, thus the weight value are relatively lower. The experimental results show that our algorithm can effectively alleviate the data sparsity problem and time migration of users preferences, thus achieve better performance.