Both are generally bad when they find their way into the user experience of a product and we are advised to know about them but avoid their application.
Specifically what is the difference between the two ?
An anti-pattern, when it appears, is generally a mistake - anti-patterns are things that look like they are a good idea, but in practice they are not (mostly due to side-effects). Something that was done improperly because someone working in the project didn't have the right skills.
A dark pattern is something that deceives the user or has some other negative effect (eg. really bad usability for unsubscribing), and are designed into the product intentionally. Dark patterns can break the user's thrust in the product, author, content or website.