-
-
Save AshKyd/8843581 to your computer and use it in GitHub Desktop.
var DATE_RFC2822 = "ddd, DD MMM YYYY HH:mm:ss ZZ"; | |
moment().format(DATE_RFC2822); |
In your client browser is not in english this will not work. It should be semothing like :
var DATE_RFC2822 = "ddd, DD MMM YYYY HH:mm:ss ZZ";
moment().lang("en").format(DATE_RFC2822);
Thanks mate - really nice.
Nice!
.lang()
has been deprecated.
I received this error: Deprecation warning: moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.
You should use .locale("en")
to set it to English
Note that http headers MUST always be in GMT, so the correct way is
var DATE_RFC2822 = "ddd, DD MMM YYYY HH:mm:ss [GMT]";
moment.utc().format(DATE_RFC2822);
From the RFC
All HTTP date/time stamps MUST be represented in Greenwich Mean Time (GMT), without exception. For the purposes of HTTP, GMT is exactly equal to UTC (Coordinated Universal Time).
@redben This is useful, but I believe the original code was meant to be for RFC 2822 which can take a timezone.
This was very useful, thank you!
OMG.. Why oh why doesn't @moment put this in their docs?? https://gist.github.com/AshKyd/8843581#gistcomment-1781610
Thank you @redben !
moment.utc().locale('en').format('ddd, DD MMM YYYY HH:mm:ss [GMT]');
As JavaScript's .toUTCString() outputs RFC 2822 formatted date, you can just use:
moment().toDate().toUTCString();
@alanibrus i think you got the simplest answer :)
you've got a typo there... day of month should be
DD
. the correct date format is