diff --git a/duration/duration.go b/duration/duration.go
index b31d1398f701e2f1f5580c69171f8ead5975cca0..fe84026cb391a7d42ae13fdf711e4ee3c69d5e37 100644
--- a/duration/duration.go
+++ b/duration/duration.go
@@ -28,11 +28,29 @@ var (
 
 // ElapsedTime returns in a human readable format the elapsed time
 // since the given datetime.
-func ElapsedTime(translator *locale.Language, t time.Time) string {
-	if t.IsZero() || time.Now().Before(t) {
+func ElapsedTime(translator *locale.Language, timezone string, t time.Time) string {
+	if t.IsZero() {
 		return translator.Get(NotYet)
 	}
-	diff := time.Since(t)
+
+	var now time.Time
+	loc, err := time.LoadLocation(timezone)
+	if err != nil {
+		now = time.Now()
+	} else {
+		now = time.Now().In(loc)
+
+		// The provided date is already converted to the user timezone by Postgres,
+		// but the timezone information is not set in the time struct.
+		// We cannot use time.In() because the date will be converted a second time.
+		t = time.Date(t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second(), t.Nanosecond(), loc)
+	}
+
+	if now.Before(t) {
+		return translator.Get(NotYet)
+	}
+
+	diff := now.Sub(t)
 	// Duration in seconds
 	s := diff.Seconds()
 	// Duration in days
diff --git a/duration/duration_test.go b/duration/duration_test.go
index c9a466336fe0170f4e285c4fe46e57e6608cc553..d1aae217a927e83995dc6e21c712c68072ed7510 100644
--- a/duration/duration_test.go
+++ b/duration/duration_test.go
@@ -31,8 +31,8 @@ func TestElapsedTime(t *testing.T) {
 		{time.Now().Add(-time.Hour * 24 * 365 * 3), fmt.Sprintf(Years, 3)},
 	}
 	for i, tt := range dt {
-		if out := ElapsedTime(&locale.Language{}, tt.in); out != tt.out {
-			t.Errorf("%d. content mismatch for %v:exp=%q got=%q", i, tt.in, tt.out, out)
+		if out := ElapsedTime(&locale.Language{}, "Local", tt.in); out != tt.out {
+			t.Errorf(`%d. content mismatch for "%v": expected=%q got=%q`, i, tt.in, tt.out, out)
 		}
 	}
 }
diff --git a/template/common.go b/template/common.go
index 2d2840717d8b79794596ed34ce44bcb153d96c51..61661e8d1da47dbfdf6cb7a2e74e7c877e68387e 100644
--- a/template/common.go
+++ b/template/common.go
@@ -1,5 +1,5 @@
 // Code generated by go generate; DO NOT EDIT.
-// 2018-01-31 21:53:31.216689995 -0800 PST m=+0.040862073
+// 2018-02-04 14:28:15.225458631 -0800 PST m=+0.036040293
 
 package template
 
@@ -27,32 +27,32 @@ var templateCommonMap = map[string]string{
 <div class="item-meta">
     <ul>
         <li>
-            <a href="{{ route "feedEntries" "feedID" .Feed.ID }}" title="{{ .Feed.Title }}">{{ domain .Feed.SiteURL }}</a>
+            <a href="{{ route "feedEntries" "feedID" .entry.Feed.ID }}" title="{{ .entry.Feed.Title }}">{{ domain .entry.Feed.SiteURL }}</a>
         </li>
         <li>
-            <time datetime="{{ isodate .Date }}" title="{{ isodate .Date }}">{{ elapsed .Date }}</time>
+            <time datetime="{{ isodate .entry.Date }}" title="{{ isodate .entry.Date }}">{{ elapsed .user.Timezone .entry.Date }}</time>
         </li>
         <li>
             <a href="#"
                 title="{{ t "Save this article" }}"
                 data-save-entry="true"
-                data-save-url="{{ route "saveEntry" "entryID" .ID }}"
+                data-save-url="{{ route "saveEntry" "entryID" .entry.ID }}"
                 data-label-loading="{{ t "Saving..." }}"
                 data-label-done="{{ t "Done!" }}"
                 >{{ t "Save" }}</a>
         </li>
         <li>
-            <a href="{{ .URL }}" target="_blank" rel="noopener noreferrer" referrerpolicy="no-referrer" data-original-link="true">{{ t "Original" }}</a>
+            <a href="{{ .entry.URL }}" target="_blank" rel="noopener noreferrer" referrerpolicy="no-referrer" data-original-link="true">{{ t "Original" }}</a>
         </li>
         <li>
             <a href="#"
                 data-toggle-bookmark="true"
-                data-bookmark-url="{{ route "toggleBookmark" "entryID" .ID }}"
+                data-bookmark-url="{{ route "toggleBookmark" "entryID" .entry.ID }}"
                 data-label-loading="{{ t "Saving..." }}"
                 data-label-star="☆ {{ t "Star" }}"
                 data-label-unstar="★ {{ t "Unstar" }}"
-                data-value="{{ if .Starred }}star{{ else }}unstar{{ end }}"
-                >{{ if .Starred }}★ {{ t "Unstar" }}{{ else }}☆ {{ t "Star" }}{{ end }}</a>
+                data-value="{{ if .entry.Starred }}star{{ else }}unstar{{ end }}"
+                >{{ if .entry.Starred }}★ {{ t "Unstar" }}{{ else }}☆ {{ t "Star" }}{{ end }}</a>
         </li>
         <li>
             <a href="#"
@@ -60,8 +60,8 @@ var templateCommonMap = map[string]string{
                 data-toggle-status="true"
                 data-label-read="✔ {{ t "Read" }}"
                 data-label-unread="✘ {{ t "Unread" }}"
-                data-value="{{ if eq .Status "read" }}read{{ else }}unread{{ end }}"
-                >{{ if eq .Status "read" }}✘ {{ t "Unread" }}{{ else }}✔ {{ t "Read" }}{{ end }}</a>
+                data-value="{{ if eq .entry.Status "read" }}read{{ else }}unread{{ end }}"
+                >{{ if eq .entry.Status "read" }}✘ {{ t "Unread" }}{{ else }}✔ {{ t "Read" }}{{ end }}</a>
         </li>
     </ul>
 </div>
@@ -215,7 +215,7 @@ var templateCommonMap = map[string]string{
 
 var templateCommonMapChecksums = map[string]string{
 	"entry_pagination": "f1465fa70f585ae8043b200ec9de5bf437ffbb0c19fb7aefc015c3555614ee27",
-	"item_meta":        "5f8650332fcc24dd580cea3eb8e7d8ecbb0d794607185039d1f4def8db6a7460",
+	"item_meta":        "4796b74adca0567f3dbf8bdf6ac8cda59f455ea34cb6d4a92c83660fa72a883d",
 	"layout":           "c7565e2cf904612e236bc1d7167c6c124ffe5d27348608eb5c2336606f266896",
 	"pagination":       "6ff462c2b2a53bc5448b651da017f40a39f1d4f16cef4b2f09784f0797286924",
 }
diff --git a/template/html/category_entries.html b/template/html/category_entries.html
index d7ce9d978eba2858d99375e058e08623042d21b3..8910f2246ca04f501c8928c294c59978387d7266 100644
--- a/template/html/category_entries.html
+++ b/template/html/category_entries.html
@@ -27,7 +27,7 @@
                 </span>
                 <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
             </div>
-            {{ template "item_meta" . }}
+            {{ template "item_meta" dict "user" $.user "entry" . }}
         </article>
         {{ end }}
     </div>
diff --git a/template/html/common/item_meta.html b/template/html/common/item_meta.html
index 668a5d2338426ee7154ccb5c1adc91725d94c7c1..5b00d9afec3bd8aeb59f7688a0a6ea259b6b47d1 100644
--- a/template/html/common/item_meta.html
+++ b/template/html/common/item_meta.html
@@ -2,32 +2,32 @@
 <div class="item-meta">
     <ul>
         <li>
-            <a href="{{ route "feedEntries" "feedID" .Feed.ID }}" title="{{ .Feed.Title }}">{{ domain .Feed.SiteURL }}</a>
+            <a href="{{ route "feedEntries" "feedID" .entry.Feed.ID }}" title="{{ .entry.Feed.Title }}">{{ domain .entry.Feed.SiteURL }}</a>
         </li>
         <li>
-            <time datetime="{{ isodate .Date }}" title="{{ isodate .Date }}">{{ elapsed .Date }}</time>
+            <time datetime="{{ isodate .entry.Date }}" title="{{ isodate .entry.Date }}">{{ elapsed .user.Timezone .entry.Date }}</time>
         </li>
         <li>
             <a href="#"
                 title="{{ t "Save this article" }}"
                 data-save-entry="true"
-                data-save-url="{{ route "saveEntry" "entryID" .ID }}"
+                data-save-url="{{ route "saveEntry" "entryID" .entry.ID }}"
                 data-label-loading="{{ t "Saving..." }}"
                 data-label-done="{{ t "Done!" }}"
                 >{{ t "Save" }}</a>
         </li>
         <li>
-            <a href="{{ .URL }}" target="_blank" rel="noopener noreferrer" referrerpolicy="no-referrer" data-original-link="true">{{ t "Original" }}</a>
+            <a href="{{ .entry.URL }}" target="_blank" rel="noopener noreferrer" referrerpolicy="no-referrer" data-original-link="true">{{ t "Original" }}</a>
         </li>
         <li>
             <a href="#"
                 data-toggle-bookmark="true"
-                data-bookmark-url="{{ route "toggleBookmark" "entryID" .ID }}"
+                data-bookmark-url="{{ route "toggleBookmark" "entryID" .entry.ID }}"
                 data-label-loading="{{ t "Saving..." }}"
                 data-label-star="☆ {{ t "Star" }}"
                 data-label-unstar="★ {{ t "Unstar" }}"
-                data-value="{{ if .Starred }}star{{ else }}unstar{{ end }}"
-                >{{ if .Starred }}★ {{ t "Unstar" }}{{ else }}☆ {{ t "Star" }}{{ end }}</a>
+                data-value="{{ if .entry.Starred }}star{{ else }}unstar{{ end }}"
+                >{{ if .entry.Starred }}★ {{ t "Unstar" }}{{ else }}☆ {{ t "Star" }}{{ end }}</a>
         </li>
         <li>
             <a href="#"
@@ -35,8 +35,8 @@
                 data-toggle-status="true"
                 data-label-read="✔ {{ t "Read" }}"
                 data-label-unread="✘ {{ t "Unread" }}"
-                data-value="{{ if eq .Status "read" }}read{{ else }}unread{{ end }}"
-                >{{ if eq .Status "read" }}✘ {{ t "Unread" }}{{ else }}✔ {{ t "Read" }}{{ end }}</a>
+                data-value="{{ if eq .entry.Status "read" }}read{{ else }}unread{{ end }}"
+                >{{ if eq .entry.Status "read" }}✘ {{ t "Unread" }}{{ else }}✔ {{ t "Read" }}{{ end }}</a>
         </li>
     </ul>
 </div>
diff --git a/template/html/edit_feed.html b/template/html/edit_feed.html
index 888a2c07b973ec5e0f4b62f87490e110e8106b5f..e5bb60a5ae061ea25ee665b97dfa5e32d19cf5f1 100644
--- a/template/html/edit_feed.html
+++ b/template/html/edit_feed.html
@@ -67,7 +67,7 @@
 
     <div class="panel">
         <ul>
-            <li><strong>{{ t "Last checked:" }} </strong><time datetime="{{ isodate .feed.CheckedAt }}" title="{{ isodate .feed.CheckedAt }}">{{ elapsed .feed.CheckedAt }}</time></li>
+            <li><strong>{{ t "Last checked:" }} </strong><time datetime="{{ isodate .feed.CheckedAt }}" title="{{ isodate .feed.CheckedAt }}">{{ elapsed $.user.Timezone .feed.CheckedAt }}</time></li>
             <li><strong>{{ t "ETag header:" }} </strong>{{ if .feed.EtagHeader }}{{ .feed.EtagHeader }}{{ else }}{{ t "None" }}{{ end }}</li>
             <li><strong>{{ t "LastModified header:" }} </strong>{{ if .feed.LastModifiedHeader }}{{ .feed.LastModifiedHeader }}{{ else }}{{ t "None" }}{{ end }}</li>
         </ul>
diff --git a/template/html/entry.html b/template/html/entry.html
index 66d08fb7ae01c089b395833d8bff999f73042814..237acf40bfe10b8dd0b6257845acadc0579fe9f8 100644
--- a/template/html/entry.html
+++ b/template/html/entry.html
@@ -59,7 +59,7 @@
             </span>
         </div>
         <div class="entry-date">
-            <time datetime="{{ isodate .entry.Date }}" title="{{ isodate .entry.Date }}">{{ elapsed .entry.Date }}</time>
+            <time datetime="{{ isodate .entry.Date }}" title="{{ isodate .entry.Date }}">{{ elapsed $.user.Timezone .entry.Date }}</time>
         </div>
     </header>
     {{ if gt (len .entry.Content) 120 }}
diff --git a/template/html/feed_entries.html b/template/html/feed_entries.html
index ebd8ea7f142384d9365aa55fc0d1d62a80726ab5..bbc8d7993af1cb9e036f1651eb454b25b409e5bb 100644
--- a/template/html/feed_entries.html
+++ b/template/html/feed_entries.html
@@ -38,7 +38,7 @@
                 </span>
                 <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
             </div>
-            {{ template "item_meta" . }}
+            {{ template "item_meta" dict "user" $.user "entry" . }}
         </article>
         {{ end }}
     </div>
diff --git a/template/html/feeds.html b/template/html/feeds.html
index 5500c92f086895808f398d712cf5e63d7322d242..db8987245a39e72bb1a6c25fdfed99306d079914 100644
--- a/template/html/feeds.html
+++ b/template/html/feeds.html
@@ -42,7 +42,7 @@
                         <a href="{{ .SiteURL }}" target="_blank" rel="noopener noreferrer" referrerpolicy="no-referrer" data-original-link="true">{{ domain .SiteURL }}</a>
                     </li>
                     <li>
-                        {{ t "Last check:" }} <time datetime="{{ isodate .CheckedAt }}" title="{{ isodate .CheckedAt }}">{{ elapsed .CheckedAt }}</time>
+                        {{ t "Last check:" }} <time datetime="{{ isodate .CheckedAt }}" title="{{ isodate .CheckedAt }}">{{ elapsed $.user.Timezone .CheckedAt }}</time>
                     </li>
                 </ul>
                 <ul>
diff --git a/template/html/history.html b/template/html/history.html
index 892f1832f435e0407e78c419e151bc1051ccf337..3b806da62a45e57d67df247b60cf6e5b8349ae33 100644
--- a/template/html/history.html
+++ b/template/html/history.html
@@ -27,7 +27,7 @@
                 </span>
                 <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
             </div>
-            {{ template "item_meta" . }}
+            {{ template "item_meta" dict "user" $.user "entry" . }}
         </article>
         {{ end }}
     </div>
diff --git a/template/html/sessions.html b/template/html/sessions.html
index f6d74c2422f63c20359ef395ac825d8c30fdad75..6e639d6ba1b4d5d4b486e97915e8c8cb17a227cd 100644
--- a/template/html/sessions.html
+++ b/template/html/sessions.html
@@ -33,7 +33,7 @@
     </tr>
     {{ range .sessions }}
     <tr {{ if eq .Token $.currentSessionToken }}class="row-highlighted"{{ end }}>
-        <td class="column-20" title="{{ isodate .CreatedAt }}">{{ elapsed .CreatedAt }}</td>
+        <td class="column-20" title="{{ isodate .CreatedAt }}">{{ elapsed $.user.Timezone .CreatedAt }}</td>
         <td class="column-20" title="{{ .IP }}">{{ .IP }}</td>
         <td title="{{ .UserAgent }}">{{ .UserAgent }}</td>
         <td class="column-20">
diff --git a/template/html/starred.html b/template/html/starred.html
index b16b9e73a31983aeccd1820ef2f17d8e63bcbe8e..e2a24071193bf7e1570bc16d477c41924ee5260b 100644
--- a/template/html/starred.html
+++ b/template/html/starred.html
@@ -20,7 +20,7 @@
                 </span>
                 <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
             </div>
-            {{ template "item_meta" . }}
+            {{ template "item_meta" dict "user" $.user "entry" . }}
         </article>
         {{ end }}
     </div>
diff --git a/template/html/unread.html b/template/html/unread.html
index e88c847e4a28c5c20d78e40e0f11eb1d4c243131..c8e0a8ec01cf9634fe09296540ce26ef553b336c 100644
--- a/template/html/unread.html
+++ b/template/html/unread.html
@@ -30,7 +30,7 @@
                 </span>
                 <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
             </div>
-            {{ template "item_meta" . }}
+            {{ template "item_meta" dict "user" $.user "entry" . }}
         </article>
         {{ end }}
     </div>
diff --git a/template/html/users.html b/template/html/users.html
index 7fd7e470e651b33240546477e37e367ef4a4f8fa..8bffc2f827b86d8bf61dd65b09870f8a3b437f51 100644
--- a/template/html/users.html
+++ b/template/html/users.html
@@ -39,7 +39,7 @@
                 <td>{{ if eq .IsAdmin true }}{{ t "Yes" }}{{ else }}{{ t "No" }}{{ end }}</td>
                 <td>
                     {{ if .LastLoginAt }}
-                        <time datetime="{{ isodate .LastLoginAt }}" title="{{ isodate .LastLoginAt }}">{{ elapsed .LastLoginAt }}</time>
+                        <time datetime="{{ isodate .LastLoginAt }}" title="{{ isodate .LastLoginAt }}">{{ elapsed $.user.Timezone .LastLoginAt }}</time>
                     {{ else }}
                         {{ t "Never" }}
                     {{ end }}
diff --git a/template/template.go b/template/template.go
index b3374ff5679fd2a89759b7f811ce07be41d63830..a78f931ce266e8749316b3992dc7a3ea3442ffe1 100644
--- a/template/template.go
+++ b/template/template.go
@@ -6,6 +6,7 @@ package template
 
 import (
 	"bytes"
+	"fmt"
 	"html/template"
 	"io"
 	"net/mail"
@@ -85,8 +86,8 @@ func (e *Engine) parseAll() {
 		"isodate": func(ts time.Time) string {
 			return ts.Format("2006-01-02 15:04:05")
 		},
-		"elapsed": func(ts time.Time) string {
-			return duration.ElapsedTime(e.currentLocale, ts)
+		"elapsed": func(timezone string, t time.Time) string {
+			return duration.ElapsedTime(e.currentLocale, timezone, t)
 		},
 		"t": func(key interface{}, args ...interface{}) string {
 			switch key.(type) {
@@ -104,6 +105,20 @@ func (e *Engine) parseAll() {
 		"plural": func(key string, n int, args ...interface{}) string {
 			return e.currentLocale.Plural(key, n, args...)
 		},
+		"dict": func(values ...interface{}) (map[string]interface{}, error) {
+			if len(values)%2 != 0 {
+				return nil, fmt.Errorf("Dict expects an even number of arguments")
+			}
+			dict := make(map[string]interface{}, len(values)/2)
+			for i := 0; i < len(values); i += 2 {
+				key, ok := values[i].(string)
+				if !ok {
+					return nil, fmt.Errorf("Dict keys must be strings")
+				}
+				dict[key] = values[i+1]
+			}
+			return dict, nil
+		},
 	}
 
 	commonTemplates := ""
diff --git a/template/views.go b/template/views.go
index e189e5d292d65a92c7456bd95fdaf917f0c20489..b7e997f68c10f5b8507ecad2569cf9e189b7f85b 100644
--- a/template/views.go
+++ b/template/views.go
@@ -1,5 +1,5 @@
 // Code generated by go generate; DO NOT EDIT.
-// 2018-02-03 15:28:45.540437885 -0800 PST m=+0.032377624
+// 2018-02-04 14:28:15.215257434 -0800 PST m=+0.025839096
 
 package template
 
@@ -179,7 +179,7 @@ var templateViewsMap = map[string]string{
                 </span>
                 <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
             </div>
-            {{ template "item_meta" . }}
+            {{ template "item_meta" dict "user" $.user "entry" . }}
         </article>
         {{ end }}
     </div>
@@ -404,7 +404,7 @@ var templateViewsMap = map[string]string{
 
     <div class="panel">
         <ul>
-            <li><strong>{{ t "Last checked:" }} </strong><time datetime="{{ isodate .feed.CheckedAt }}" title="{{ isodate .feed.CheckedAt }}">{{ elapsed .feed.CheckedAt }}</time></li>
+            <li><strong>{{ t "Last checked:" }} </strong><time datetime="{{ isodate .feed.CheckedAt }}" title="{{ isodate .feed.CheckedAt }}">{{ elapsed $.user.Timezone .feed.CheckedAt }}</time></li>
             <li><strong>{{ t "ETag header:" }} </strong>{{ if .feed.EtagHeader }}{{ .feed.EtagHeader }}{{ else }}{{ t "None" }}{{ end }}</li>
             <li><strong>{{ t "LastModified header:" }} </strong>{{ if .feed.LastModifiedHeader }}{{ .feed.LastModifiedHeader }}{{ else }}{{ t "None" }}{{ end }}</li>
         </ul>
@@ -524,7 +524,7 @@ var templateViewsMap = map[string]string{
             </span>
         </div>
         <div class="entry-date">
-            <time datetime="{{ isodate .entry.Date }}" title="{{ isodate .entry.Date }}">{{ elapsed .entry.Date }}</time>
+            <time datetime="{{ isodate .entry.Date }}" title="{{ isodate .entry.Date }}">{{ elapsed $.user.Timezone .entry.Date }}</time>
         </div>
     </header>
     {{ if gt (len .entry.Content) 120 }}
@@ -613,7 +613,7 @@ var templateViewsMap = map[string]string{
                 </span>
                 <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
             </div>
-            {{ template "item_meta" . }}
+            {{ template "item_meta" dict "user" $.user "entry" . }}
         </article>
         {{ end }}
     </div>
@@ -666,7 +666,7 @@ var templateViewsMap = map[string]string{
                         <a href="{{ .SiteURL }}" target="_blank" rel="noopener noreferrer" referrerpolicy="no-referrer" data-original-link="true">{{ domain .SiteURL }}</a>
                     </li>
                     <li>
-                        {{ t "Last check:" }} <time datetime="{{ isodate .CheckedAt }}" title="{{ isodate .CheckedAt }}">{{ elapsed .CheckedAt }}</time>
+                        {{ t "Last check:" }} <time datetime="{{ isodate .CheckedAt }}" title="{{ isodate .CheckedAt }}">{{ elapsed $.user.Timezone .CheckedAt }}</time>
                     </li>
                 </ul>
                 <ul>
@@ -729,7 +729,7 @@ var templateViewsMap = map[string]string{
                 </span>
                 <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
             </div>
-            {{ template "item_meta" . }}
+            {{ template "item_meta" dict "user" $.user "entry" . }}
         </article>
         {{ end }}
     </div>
@@ -967,7 +967,7 @@ var templateViewsMap = map[string]string{
     </tr>
     {{ range .sessions }}
     <tr {{ if eq .Token $.currentSessionToken }}class="row-highlighted"{{ end }}>
-        <td class="column-20" title="{{ isodate .CreatedAt }}">{{ elapsed .CreatedAt }}</td>
+        <td class="column-20" title="{{ isodate .CreatedAt }}">{{ elapsed $.user.Timezone .CreatedAt }}</td>
         <td class="column-20" title="{{ .IP }}">{{ .IP }}</td>
         <td title="{{ .UserAgent }}">{{ .UserAgent }}</td>
         <td class="column-20">
@@ -1094,7 +1094,7 @@ var templateViewsMap = map[string]string{
                 </span>
                 <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
             </div>
-            {{ template "item_meta" . }}
+            {{ template "item_meta" dict "user" $.user "entry" . }}
         </article>
         {{ end }}
     </div>
@@ -1135,7 +1135,7 @@ var templateViewsMap = map[string]string{
                 </span>
                 <span class="category"><a href="{{ route "categoryEntries" "categoryID" .Feed.Category.ID }}">{{ .Feed.Category.Title }}</a></span>
             </div>
-            {{ template "item_meta" . }}
+            {{ template "item_meta" dict "user" $.user "entry" . }}
         </article>
         {{ end }}
     </div>
@@ -1184,7 +1184,7 @@ var templateViewsMap = map[string]string{
                 <td>{{ if eq .IsAdmin true }}{{ t "Yes" }}{{ else }}{{ t "No" }}{{ end }}</td>
                 <td>
                     {{ if .LastLoginAt }}
-                        <time datetime="{{ isodate .LastLoginAt }}" title="{{ isodate .LastLoginAt }}">{{ elapsed .LastLoginAt }}</time>
+                        <time datetime="{{ isodate .LastLoginAt }}" title="{{ isodate .LastLoginAt }}">{{ elapsed $.user.Timezone .LastLoginAt }}</time>
                     {{ else }}
                         {{ t "Never" }}
                     {{ end }}
@@ -1213,23 +1213,23 @@ var templateViewsMapChecksums = map[string]string{
 	"about":               "ad2fb778fc73c39b733b3f81b13e5c7d689b041fadd24ee2d4577f545aa788ad",
 	"add_subscription":    "053c920b0d7e109ea19dce6a448e304ce720db8633588ea04db16677f7209a7b",
 	"categories":          "ca1280cd157bb527d4fc907da67b05a8347378f6dce965b9389d4bcdf3600a11",
-	"category_entries":    "a92bd528d1162e7af4972f7ad25feddf7ceb17164db593805caf3d363ff32aac",
+	"category_entries":    "686132d71c52a665329670756ac09959d915f7bc3227970149c623059988b035",
 	"choose_subscription": "a325f9c976ca2b2dc148e25c8fef0cf6ccab0e04e86e604e7812bb18dc4cdde1",
 	"create_category":     "2b82af5d2dcd67898dc5daa57a6461e6ff8121a6089b2a2a1be909f35e4a2275",
 	"create_user":         "233764778c915754141a20429ec8db9bf80ef2d7704867a2d7232c1e9df233ae",
 	"edit_category":       "cee720faadcec58289b707ad30af623d2ee66c1ce23a732965463250d7ff41c5",
-	"edit_feed":           "30ff6ee5526b8beb9b457526b77ede55938f53eb279b1acc719ce896359e2ed8",
+	"edit_feed":           "d2c1c8486d7faf4ee58151ccf3e3c690e53bd6872050d291c5db8452a83c3d53",
 	"edit_user":           "5edd693460330750ba5ee03319d4e3cb5aabbd9a0e48b3b760799bca72c5ec4e",
-	"entry":               "6b4405e0c8e4a7d31874659f8835f4e43e01dc3c20686091517ac750196dd70f",
-	"feed_entries":        "3a7b4d942d9ac9da7df5c09950fbadaa0ff564696953c4f1c302d955696cc2ee",
-	"feeds":               "65b0a47c4438810b9d51c60f3f3b2519690e56ff74029e6296c68626b83a470b",
-	"history":             "d2476fd727e4f53428b5ed1f3f9423063583337ec8cfe1dd9c931fcb03852a20",
+	"entry":               "27ea028515e79beb546f0b2792a3918c455fd877eea4c41d1a061f8e7b54a430",
+	"feed_entries":        "420da786e827a77fecc8794207d158af3a30e489ca2b2019f48d5228919af4a7",
+	"feeds":               "0c884b7a9dfc4541b988641516fd95df062a5bf05018d28276a3c0a10323cffd",
+	"history":             "967bc95236269ab3a77455910aca1939f43f93171fe1af77eb3b1b4eac579e55",
 	"import":              "73b5112e20bfd232bf73334544186ea419505936bc237d481517a8622901878f",
 	"integrations":        "958b73d632a3e2a79368bb1582efb8aabc438cef4fa6e8dc1aa4932494916aca",
 	"login":               "7d83c3067c02f1f6aafdd8816c7f97a4eb5a5a4bdaaaa4cc1e2fbb9c17ea65e8",
-	"sessions":            "d8ef5900d8ea8395804b320002e5f45ed0ab8b790e43f674f61f8b9787041cbd",
+	"sessions":            "3fa79031dd883847eba92fbafe5f535fa3a4e1614bb610f20588b6f8fc8b3624",
 	"settings":            "ea2505b9d0a6d6bb594dba87a92079de19baa6d494f0651693a7685489fb7de9",
-	"starred":             "121b761ce218de472ebf70879c1aa2fe3b9ae8981c11f1ed53a355e34049b269",
-	"unread":              "17335b21dc5fb79207da317a8e8a6685a122bc94c323662cbda7cfdbf73dd2f9",
-	"users":               "a07201315fdb1d8f381f31699b8acee0066719c26cd29c2aeb9808282d69e0a3",
+	"starred":             "d006f5bcfca7abc7c68b6bb38fe25838acb81b65f960fbf06b97b259ba03b936",
+	"unread":              "ad71a7bdd46c1d650efecbeeb37b7606a046027c15284c0712912b77397f90d4",
+	"users":               "c6d91b0b29984b4cb3073bec6a2933cfb72981ec60f54b6c7aa05194f0e860bd",
 }