0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SQlite3でデータベースのcreated_atから日付だけ取り出す

Posted at

要点

  • データベースにデータを作成した日時をそのままWebページに表示させたい
  • 初期で保存されているデータをそのまま使うと日付だけでなく、時間まで表示されてしまう
  • 日付のフォーマットを変換し、表示させた

背景

勉強のためにRuby on Rails5を使い、Webアプリケーション(Todoアプリもどき)を作成中です。
下記のようにやりたいことはほとんど同じだと思われるが、SQLやLaravelなどの別言語での解説が多く、苦戦したため忘れないようにメモとして残しております。

SQliteでの日付時刻を扱う際のポイント→https://qiita.com/TomK/items/132831ab45e2aba822a8
Laravelでデータベースのcreated_atから日付だけ取り出す→https://qiita.com/N0S0/items/d656dbd1b83f4ed8e3d6

対処方法

実際のコード

require "date"

<% @tasks.each do|task| %>
    <% date = task.created_at %>
    <%= date.strftime("%Y-%m-%d") %>
<% end %>
2023-02-06

まとめ

参考サイトではDataクラスで取得したデータを指定のフォーマットで表示するメソッドとしてstrftimeというメソッドが紹介されていました。今回はデータベースに保存されていた時刻をそのままDateクラスで取得したデータと仮定して、試してみたら参考サイト通りに表示させることができました。
クラスとして取得したデータではないが、保存されているデータがDateクラスと同じ形式の保存だったからできたのか、そもそもDateクラスとしてSQlite3に保存されているというものなのかはよくわかってないです。
いまいち理解できていなくても何となく試してみたらうまくいった、というパターンは案外多いためあきらめずに色々やってみようと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?