В этом выражении оба слова обозначают время. Так, "не долго" означает длительность - что какое-то событие или состояние (например, счастья) длилось не долго, было кратковременным.
А слово "давно" означает, что с момента определенного события прошло уже много времени (дней, месяцев, лет).
И когда эти слова объединяются, то можно считать, что речь идет о каком-то кратковременном событии, которое было давно. К примеру:
- На вопрос о счастливом периоде ее жизни, подруга ответила: "Не долго и давно".
Иногда так говорят, чтобы подчеркнуть, что уже успели забыть о чем-то, что было неприятным. Это своего рода фраза для самозащиты, как будто то, что когда-то обидело или ранило, просто мало значило. К примеру, так может сказать женщина, жених которой не явился в ЗАГС. Вот он и был ее женихом "не долго и давно". Не будет же она всю жизнь плакать по этому поводу.