我的申请表有问题。我正在制作一个简单的CMS,我需要显示帖子'创立日期。我现在正在做的事情不能正常工作。它正确显示时间,但不显示日期。对于每个条目,它显示日期是10月20日,尽管它不是。
我通过rails c
检查了我的数据库,它存储了正确的值。所以问题必须在显示代码的某个地方。
以下是我输出的方式:
<% @articles.each do |article| %>
<h3 class="article-title"><u><%= link_to article.title, article %></u></h3>
<p><%= article.text.html_safe %></p>
<div class="article-info">
<p>Posted on <em><%= article.updated_at.strftime("%A, %C %B %G %R") %> </em> by <em><%= article.user.username %></em> |
<%= link_to 'Comments...', article %>
<% if user_signed_in? and article.user == current_user %>
| <%= link_to 'Edit', edit_article_path(article) %>
| <%= link_to 'Destroy', article, method: :delete, data: { confirm: 'Are you certain you want to delete this?' } %> </p>
<% end %>
</div>
<% if article.tag_list.any? %>
<div class="article-tags">Tags: <%= raw article.tag_list.map { |tag| link_to tag, tag_path(tag)}.join(", ") %></div>
<% end %>
<hr />
<% end %>
什么可能导致这种行为?
答案 0 :(得分:1)
您的问题是strftime属性:
<%= article.updated_at.strftime("%A, %C %B %G %R") %>
%A - 完整的工作日名称(
Sunday'') %C - year / 100 (round down. 20 in 2009) %B - The full month name (
1月份') %G - 基于周的年份%R - 24小时时间(%H:%M)
你需要使用这个:
<%= article.updated_at.strftime("%A, %d %B %Y %R") %>
%d - %d - 月中的某天,零填充(01..31)
%Y - 世纪年
答案 1 :(得分:1)
在您的代码中使用此格式
<%= article.updated_at.strftime("%A, %d %B %Y %l:%M%p") %>