It can be done as follows:
years = 18;
data = QuantityMagnitude@
Normal[WeatherData["Philadelphia",
"MeanTemperature", {{2007, 1, 1}, {2006 + years, 12, 31},
"Day"}]][[All, 2]];
model = a Sin[b t + c] + d;
fittedModel =
NonlinearModelFit[data, {model, Abs[b] <= 1/24}, {a, b, c, d}, t];
ListPlot[data, PlotStyle -> Blue, PlotRange -> All,
AxesLabel -> {"Time (days)", "Temperature (°C)"},
PlotLabel -> "Temperature Time Series"]
Show[ListPlot[data, PlotStyle -> Blue],
Plot[fittedModel[t], {t, 1, 365*years}, PlotStyle -> Pink],
PlotLabel -> "Fitted Sinusoidal Line"]
The graph looks like this:

Attachments: