If you want a date field that always updates (or at least as often as defined by the system variable FIELDEVAL), use a DIESEL expression. (DIESEL stands for Direct Interpretively Evaluated String Expression Language).
Here is an example that will give you the full month, spelled out and the four digit year, in uppercase.
$(upper,$(edtime, 0, MONTH YYYY))
Which will give you this:
The DIESEL function “edtime” allows for almost any date string you might need.