Вы можете написать это более компактным способом:
var now = new Date();
now.setTime(now.getTime() + 1 * 3600 * 1000);
document.cookie = "name=value; expires=" + now.toUTCString() + "; path=/";
И для такого, как я, который потратил час, пытаясь выяснить, почему cookie с истечением не настроен (но без истечения срока действия) в Chrome, вот ответ:
По какой-то странной причине команда Chrome решила игнорировать куки с локальных страниц . Поэтому, если вы сделаете это на локальном хосте, вы не сможете увидеть свой файл cookie в Chrome. Поэтому либо загрузите его на сервер, либо используйте другой браузер.