Cara menggunakan tanggal waktu pengurutan javascript

Pada artikel ini, kita akan melihat metode untuk mengurutkan array objek berdasarkan tanggal, ada beberapa metode tetapi kita akan melihat beberapa metode yang paling disukai.  

Objek Tanggal Javascript. Objek Tanggal dalam JavaScript digunakan untuk mewakili momen dalam waktu. Nilai waktu ini sejak 1 Januari 1970 UTC (Waktu Universal Terkoordinasi). Kita dapat membuat tanggal menggunakan objek Date dengan memanggil konstruktor Date() baru seperti yang ditunjukkan dalam sintaks di bawah ini.  

Sintaksis

new Date();
new Date(value);
new Date(dateString);
new Date(year, month, day, hours, minutes, seconds, milliseconds);

Contoh 1. Contoh ini mengurutkan array objek berdasarkan tanggal dengan menggunakan objek Tanggal.  

html




<body style="text-align:center;">

 

    <h1 style=<2>

<4<5

    <7h1>

    <________7

$date = Carbon::now()->format('Y-m-d H:i:s)
$ts = round(strtotime($val)*1000)
_11_______

<4body5

    <7body2>

 

    <style2 style3=8_______5>

<4style8

    <7style2>

 

    <=5 =6==8 style=<2"text-align:center;"2=5>

Halo semua selamat datang bek to mai cenel, kali ini saya ingin berbagi insight tentang timestamp dengan milidetik dan timestamp yang sudah diformat

Seperti yang kita ketahui di Laravel kita memiliki Library format waktu tanggal yang disebut Carbon. Di Javascript kami memiliki perpustakaan bernama Moment. Nah, tapi pernahkah Anda menemukan kasus di mana Anda harus memproses tanggal antara Javascript dan PHP dan harus memiliki stempel waktu?

Oke, kita semua tahu, pada Database, format yang kita gunakan di Laravel adalah Y-m-d H. i. s (2019–01–01 15. 16. 19) karena kita mengikuti format timestamp di Database MySQL, yang merupakan tipe data timestamp

Nah format ini juga sering digunakan sebagai parameter sequence atau urutan baik secara ascending maupun descending. Namun tahukah Anda bahwa sebenarnya data tersebut berformat Y-m-d H. i. Ini tidak bagus untuk dipesan oleh, alasannya

  1. Formatnya tidak sederhana
    Format Y-m-d H. i. Ini sangat tidak efisien, bayangkan saja Anda harus memijat data 2019–08–01 12. 12. 12 dan 2018–01–01 12. 12. 13. Dibandingkan dengan format seperti itu, pasti akan lebih mudah mengurutkan dengan angka seperti 1,2,3,4
  2. Performa lambat
    Data Anda masih di bawah 1000? . Tapi bayangkan jika database Anda memiliki 400.000 baris, Anda disuruh mengurutkan berdasarkan create_at dengan format yang buruk dan banyak orang yang mengaksesnya secara bersamaan, saya jamin akan lebih lambat daripada menggunakan bilangan bulat

Sulit dibayangkan, coba saja buat database dengan 1 juta baris dan harus berhubungan dengan tabel lain yang juga memiliki hampir 1 juta baris. Rasakan sendiri bagaimana rasanya server anda berjalan cepat hanya karena orderan dari created_at ehehehe

Di antara kedua masalah tersebut, ada solusinya yaitu bermain-main dengan timestamp dengan milidetik. Formatnya akan seperti ini

  1. 1549886783853 = 11/02/2019 19. 06. 23
  2. 1549890963235 = 11/02/2019 20. 16. 03
  3. 1552878646473 = 18/03/2019 10. 10. 46

Nah bagaimana? . 10. 46 atau 2019–03–18 10. 10. 46, selain itu juga bisa dirubah dengan format YmdHis jadi 20190318101046, tapi kurang bagus ya? . Mengapa?

Dengan mengubah format anda dari format database timestamp menjadi milliseconds timestamp, ini akan membuat order by process di database anda menjadi lebih cepat gan

Sekarang bagaimana Anda bermain dengan cap waktu di PHP dan Javascript?

Untuk mengubah dari timestamp ke Carbon kita bisa bermain dengan format

Carbon::createFromTimestamp($timestamp)->format('Y-m-d H:i:s)
_

Nah untuk merubah Date menjadi timestamp di PHP kita bisa bermain dengan native PHP

$date = Carbon::now()->format('Y-m-d H:i:s)
$ts = round(strtotime($val)*1000)

Nah kalau di Javascript kita akan menggunakan fungsi native Javascript

let ts = new Date().getTime()

atau kalau suka pakai Moment, pakai aja hehe

let date = moment()
let ts = new Date(moment).getTime()
_

Nah, cara mengubah Date menjadi Timestamp menggunakan Moment adalah

let value = 1549890963235
let now = moment(value).format(“MM/DD/YYYY H:mm:ss”);
//02/11/2019 20:16:03.235

Timestamp ini cocok untuk data yang sering di order by karena format panjang 13 huruf timestamp ini bisa di index di MySQL sehingga saat di order tentunya akan lebih cepat

Format timestamp ini juga cocok untuk data yang sering berubah, misalnya ada kolom last_activity, selain format timestamp akan memudahkan programmer frontend untuk mengolah data timestamp menjadi format tanggal daripada tanggal itu sendiri, terutama di Android

Pasti ada sebagian orang yang bingung kenapa diproses di frontend? . Namun jika data dilempar berupa teks "Beberapa Detik yang Lalu" dari Backend, apakah bisa diproses oleh Frontend?