The man was taken into custody outside Eastgate Mall in Linwood about 11.20am on Monday.
A police spokesperson said: "As a precaution, some police staff were armed as initial reports suggested the man had a weapon.
"The man has been charged with possession of an offensive weapon."
He is due to appear in the Christchurch District Court later this week.