1.3.5 Tanggal & Jam dengan Flask Moment - dvrg/flask-web-development GitHub Wiki
Untuk mengatasi tanggal dan jam, flask menyediakan library yang bernama flask-moment. Didalam flask-moment terdapat javascript library yang disebut moment.js. Moment.js adalah javascript library yang bersifat open-source untuk merender tanggal dan waktu.
Kali ini kamu bakalan belajar cara menggunakan ekstensi flask, ini merupakan fitur yang disediakan flask agar mempermudah kita dalam menggunakan library yang sudah tersedia. Untuk menggunakan flask-moment cukup install flask-moment dengan menggunakan pip
di terminal dan pastikan environment kamu saat ini aktif. Berikut ini cara menginstall flask moment:
(env) $ pip install flask-moment
Kemudian tambahkan kode seperti ini pada app.py untuk inisialisasi flask-moment
# app.py: inisialisasi flask-moment
from flask import Flask, render_template
from flask_moment import Moment # Yang ditambahkan
from datetime import datetime # Yang ditambahkan
app = Flask(__name__)
moment = Moment(app) # Yang ditambahkan
...
kemudian pada fungsi route user
, tambahkan parameter current_time
yang menampung isi fungsi untuk menampilkan waktu saat ini:
@app.route('/user/<name>')
def user(name):
return render_template('user.html', name=name, current_time=datetime.utcnow())
Tambahkan kode ini di dalam <head>
pada base.html agar flask-moment dapat digunakan:
# templates/base.html: menggunakan flask-moment
...
{{ moment.include_jquery() }}
{{ moment.include_moment() }}
{{ moment.lang('id') }}
</head>
...
Lalu tambahkan juga kode berikut ini pada user.html
# templates/user.html: menambahkan format datetime
...
<p class="text-muted">{{ moment(current_time).format('LLLL') }}</p>
...
Sehingga kode lengkap nya akan menjadi seperi ini:
{% extends 'base.html' %}
{% block title %}Index{% endblock %}
{% block content %}
<div class="jumbotron jumbotron-fluid">
<div class="container">
<h1 class="display-4">Hello, {{ name }}</h1>
<p class="text-muted">{{ moment(current_time).format('LLLL') }}</p>
</div>
</div>
{% endblock %}
Lalu akses kembali halaman https://127.0.0.1:5000/user/David untuk melihat hasil perubahannya.
Selengkapnya untuk format waktu & tanggal pada Flask-Moment
Format | Hasil |
---|---|
.format('L') | 17/01/2020 |
.format('LL') | 17 Januari 2020 |
.format('LLL') | 17 Januari 2020 pukul 10.10 |
.format('LLLL') | Jumat, 17 Januari 2020 pukul 10.10 |
.fromNow() | 7 menit yang lalu |
.calendar() | 17/01/2020 |