The finite-difference time-domain (FDTD) method is a useful design and numerical analysis tool in the rapidly evolving research of photonics. However, the traditional FDTD code is insufficient when facing the challenges of the difficulty in programming level rising with the increasing demands of complex structures and of the enormous amount of floating-point operations and large computer memory usage when a high- accuracy simulation result is needed. In this thesis, we address each of these issues by developing an object-oriented FDTD simulator enabling a flexible and extensible framework and parallelizing the computation kernel by the OpenMP/MPI hybrid scheme and the CUDA on graphic processing unit to solve the speed and memory problem. Next, we study two categories of the nanophotonics. The first is study of the local field enhancement between two metallic nano-cylinders. The effects of the cell size of the FDTD mesh on the accuracy and convergence of calculated near fields and far-field responses are studied by comparing with those obtained by the pseudospectral frequency-domain (PSFD) method and analytical solutions, respectively. The study of the effect of the dielectric shell on the spectral response of the dielectric-coated silver nano-cylinder pair shows that the resonant frequency is in strong correlation with the dielectric shell. The second part devotes to the waveguide devices. We investigate the transmittance of various bending structures in the plasmonic waveguide. Further, a comparison between FDTD simulations using different cell sizes and the results obtained by the discontinuous Galerkin time- domain (DGTD) method in the transmittance of a dielectric microring resonator add-drop filter shows that even a coarse mesh can be used to obtain a quick but still relatively accurate result. Finally, two plasmonic ring resonators, one with a square ring and the other with a circular ring, have been simulated and compared.