[RUBY] Formatieren Sie das von created_at angegebene Datum und die Uhrzeit

Ich hatte Probleme beim Formatieren des von SQL generierten create_at, daher ein Hinweis zur Implementierung

SQL-Datei

Erstellen Sie eine Tabelle.

table.sql


create table todos
(
  id integer PRIMARY key,
  body text,
  created_at
);

rb Datei

Verwenden Sie den aktiven Datensatz, um die zuvor erstellte Aufgaben-Tabelle an das Objekt zu binden.

tlist.rb


class Todos < ActiveRecord::Base
  validates :body, presence: true
end

Speichern Sie das Objekt in einer Instanzvariablen.

tlist.rb


get '/' do
  @todos = Todos.all
  erb :index
end

erb Datei

Versuchen Sie, die Uhrzeit anzuzeigen.

index.erb


  <div class="user_box">
    <p class="user_name">Shuto</p>
    <ul>
      <% @todos.where(users_userName: "Shuto").each do |todo|%>
      <li data-id = "<%= todo.id%>" data-token = "<%= Rack::Csrf.csrf_token(env)%>">
          <div class="one">
            <%= Rack::Utils.escape_html(todo.body)%>
          </div>
          <div class="time">
            <%= todo.created_at%>
            <span class="delete">[x]</span>
          </div>
      </li>
      <% end%>
    </ul>
  </div>

Wenn ich es ausgeführt habe, gibt es unnötige Teile, deshalb möchte ich es formatieren. スクリーンショット 2020-07-02 22.21.28.png

Nach der Untersuchung scheint es, dass es mit der strftime-Methode formatiert werden kann. Wenden Sie die Methode an und führen Sie sie aus.

index.erb


  <div class="user_box">
    <p class="user_name">Shuto</p>
    <ul>
      <% @todos.where(users_userName: "Shuto").each do |todo|%>
      <li data-id = "<%= todo.id%>" data-token = "<%= Rack::Csrf.csrf_token(env)%>">
          <div class="one">
            <%= Rack::Utils.escape_html(todo.body)%>
          </div>
          <div class="time">
            <%= todo.created_at.strftime("%Y/%m/%d %H:%M:%S")%>
            <span class="delete">[x]</span>
          </div>
      </li>
      <% end%>
    </ul>
  </div>

Ich war wütend, dass es eine Zeichenkette war.

スクリーンショット 2020-07-02 22.22.14.png

Es scheint notwendig zu sein, es in etwas anderes als eine Zeichenfolge zu konvertieren. Versuchen Sie also, es in einen Datumstyp zu konvertieren.

index.erb


  <div class="user_box">
    <p class="user_name">Shuto</p>
    <ul>
      <% @todos.where(users_userName: "Shuto").each do |todo|%>
      <li data-id = "<%= todo.id%>" data-token = "<%= Rack::Csrf.csrf_token(env)%>">
          <div class="one">
            <%= Rack::Utils.escape_html(todo.body)%>
          </div>
          <div class="time">
            <%= todo.created_at.to_date.strftime("%Y/%m/%d %H:%M:%S")%>
            <span class="delete">[x]</span>
          </div>
      </li>
      <% end%>
    </ul>
  </div>

Das Datum ist korrekt, aber die Uhrzeit ist falsch. スクリーンショット 2020-07-02 22.23.14.png

Konvertieren Sie es in einen Zeittyp und führen Sie es aus.

index.erb


  <div class="user_box">
    <p class="user_name">Shuto</p>
    <ul>
      <% @todos.where(users_userName: "Shuto").each do |todo|%>
      <li data-id = "<%= todo.id%>" data-token = "<%= Rack::Csrf.csrf_token(env)%>">
          <div class="one">
            <%= Rack::Utils.escape_html(todo.body)%>
          </div>
          <div class="time">
            <%= todo.created_at.to_time.strftime("%Y/%m/%d %H:%M:%S")%>
            <span class="delete">[x]</span>
          </div>
      </li>
      <% end%>
    </ul>
  </div>

Es wurde richtig angezeigt. スクリーンショット 2020-07-02 22.23.43.png

Wenn Sie auf einen Fehler stoßen, müssen Sie herausfinden, welches Format angegeben ist.

Der Prototyp dieser Anwendung basiert auf Einführung in Sinatra der Punktinstallation.

Recommended Posts

Formatieren Sie das von created_at angegebene Datum und die Uhrzeit
Datum (und Uhrzeit
Rufen Sie das aktuelle Datum und die aktuelle Uhrzeit ab, indem Sie die Zeitzone in Thymeleaf angeben
Analysieren Sie die Datums- und Zeitzeichenfolge, die von der asctime-Funktion der C-Sprache in Java formatiert wurde
Was ist die LocalDateTime-Klasse? [Java-Anfänger] -Datum und Zeitklasse-
Stellen Sie Datum und Uhrzeit aus der Zeichenfolge mit POI ein
[Java] Verwenden Sie ResolverStyle.LENIENT, um Datum und Uhrzeit gut zu handhaben
[MySQL] [Java] Datum und Uhrzeit empfangen
Überprüfen Sie das aktuelle Datum und die Uhrzeit beim Analysieren mit Javas SimpleDateFormat
Das Designkonzept der Datums- und Uhrzeit-API von Java ist interessant
Die Beziehung zwischen strenger Java-Datumsprüfung und Sommerzeit
Fügen Sie das Datum zu den von gcutil erfassten GC-Statistiken hinzu und geben Sie es aus.
Erläuterung der Ruby Time- und Date-Objekte
[Java] So stellen Sie die Datums- und Uhrzeit auf 00:00:00 ein
So zeigen Sie das heutige Datum und die Uhrzeit standardmäßig an: Entfernen Sie weniger als eine Sekunde
[Java] Abrufen und Anzeigen des Datums 10 Tage später mithilfe der von Java 8 hinzugefügten Zeit-API.
Wände von der ersten Rspec getroffen
Methode zur Erfassung von Datum und Uhrzeit mithilfe der DateAndTime-API
Das Datum und die Uhrzeit von java8 wurden aktualisiert
Format der Protokollausgabe von Tomcat selbst in Tomcat 8
Geschwindigkeitsvergleich zum Zeitpunkt der Generierung zum Zeitpunkt der Datumskonvertierung
Ändern Sie Datum und Uhrzeit in Rails in japanische Notation
[Schienen] Vorsichtsmaßnahmen beim Vergleich von Datum und Uhrzeit mit DateTime
Zum ersten Mal lernen Java # 3 Ausdrücke und Operatoren
Verwendbarkeit von Datums- und Zeitklasse in jeder Sprache
[Kotlin] Konvertieren Sie ZonedDateTime in String, indem Sie das Format angeben
Umgang mit Datum und Uhrzeit in Ruby. Verwenden Sie Datum und Uhrzeit richtig.
[Schienen] Überprüfen Sie die Startzeit (Datum / Uhrzeit-Typ) und die Endzeit