Hey @DevBijan , this is Matt from the Metafields team.
You’re right, this is odd—piping a ISO-8601 string to the date filter should output the formatted date, like you’ve tried. I’ll look into why this isn’t working as expected. Can you point me to the docs that outlined this example?
In the meantime, you have a couple options. The first is access the date object by appending .value. This will return the date object, and allow you to format the date:
{{ product.metafields.my_fields.class_date.value | date: "%a, %b %d, %Y" }}
The other option is piping the metafield through the metafield_tag filter. This will automatically format the date using semantic HTML, but it won’t give the fine grained control you’re probably looking for.
{{ product.metafields.my_fields.class_date | metafield_tag }}
I hope this helps!