What is the difference between time complexity and sample complexity?
Some of those notions can seem quite vague, and may even depend on the field.

In algorithmics, different types of complexities come at play. One could be related to actual implementations (machine or computational complexity). Another to data access (sample, training set complexity). 

Computational complexity is generally machine-, transmission-, power dependent. You have for instance time-complexity (the time need to run) or space-complexity (the memory required).

Data complexity are generally less machine dependent, and more conceptual. Sample complexity can be an estimate of the number of operations required, depending on the number of samples. In the Landau notation, an $O(N^3)$ algorithm grows as the cube of the number of samples $N$. It is a gross measure of scalabilty. Here, one is not concerned with data precision, storage, etc. If one can bound the execution time of operations, one could relate sample complexity to time complexity, but complicated computer architectures make this conversion doubtful: caching, pipelining, parallelizing,  swapping alter a lot the expectations.
In learning tasks, "data complexity" may refer to the quantity of data to be learned, on the training sets, to achieve certain prediction goals. One classical measure is the  Kolmogorov complexity. 

A related SE question: Computational complexity vs other complexities.