It happened at about 5pm on Bank Top in Slaithwaite, near Huddersfield, on Wednesday, December 30.
Police believe the 18-year-old victim was involved in an argument with another man.
The victim was stabbed in the arm by the man, who then fled the scene.
The victim was taken to hospital for treatment.
Officers arrested a 16-year-old boy, from Huddersfield, was on suspicion of wounding.
On Friday, January 1 he was charged with Section 18 wounding with intent.
He will appear at Leeds magistrates court on Saturday, January 2.
Anyone who has any information about the incident is asked to contact Kirklees CID on 101 or online at www.westyorkshire.police.uk/101livechat.
Information can also be given anonymously to the independent Crimestoppers charity on 0800 555 111.