Decorator Pattern says wrap an original object and add additional features in the wrapper object.
Adapter pattern says changing one object by creating an instance of it and adding functionalities to it. These functionalities do not match those of the original object so we have to modify them, but we may also add our own extra methods which are not a part of the original object.
Decorator, attach additional responsibilities to an object dynamically. For example adding sugar in a coffee.
Adapter, adapts interface of an existing class to another interface. For example eletrical adapter.
Decorator is used to decorate individual objects at run-time.
Adapter is used to add features to the class and therefore to ALL of its objects.