Milisaat ke Saat — Rujukan Penukaran Masa untuk Pembangun
Milisaat muncul berterusan dalam pembangunan perisian. Timeout ditetapkan kepada 5000ms. Had kadar API mengatakan "100 permintaan setiap 10 saat." Animasi berjalan selama 300ms. Cap masa Unix dalam milisaat di JavaScript tetapi saat di Python. Penukaran adalah mudah — 1 saat = 1,000 milisaat — tetapi mempunyai nilai umum di tangan menghemat beban mental.
Penukar Masa mengendalikan milisaat, saat, minit, jam, dan banyak lagi. Artikel ini adalah rujukan praktikal dengan nilai yang sering dihadapi oleh pembangun.
Penukaran Asas
1 saat = 1,000 milisaat
1 milisaat = 0.001 saat
saat = milisaat ÷ 1,000
milisaat = saat × 1,000
Segalanya lain mengikut dari ini:
- 1 minit = 60,000 ms
- 1 jam = 3,600,000 ms
- 1 hari = 86,400,000 ms
Nilai Umum dalam Kod
Ini adalah nilai yang akan anda taip atau hadapi secara teratur:
| Tempoh | Milisaat | Saat |
|---|---|---|
| Satu bingkai pada 60fps | ~16 ms | 0.016 s |
| Peralihan animasi (cepat) | 150–200 ms | 0.15–0.2 s |
| Peralihan animasi (normal) | 250–300 ms | 0.25–0.3 s |
| Peralihan animasi (perlahan) | 400–600 ms | 0.4–0.6 s |
| Masa tindak balas manusia purata | ~250 ms | 0.25 s |
| Timeout permintaan HTTP (cepat) | 1,000 ms | 1 s |
| Timeout permintaan HTTP (piawai) | 5,000 ms | 5 s |
| Timeout permintaan HTTP (murah hati) | 30,000 ms | 30 s |
| Tetingkap had kadar | 60,000 ms | 60 s (1 min) |
| Tamat tempoh token JWT (pendek) | 900,000 ms | 900 s (15 min) |
| Tamat tempoh token JWT (piawai) | 3,600,000 ms | 3,600 s (1 jam) |
| Tetingkap had kadar harian | 86,400,000 ms | 86,400 s (24 jam) |
| Timeout sesi (piawai) | 1,800,000 ms | 1,800 s (30 min) |
Jadual Rujukan: Saat ke Milisaat
| Saat | Milisaat |
|---|---|
| 0.1 s | 100 ms |
| 0.25 s | 250 ms |
| 0.5 s | 500 ms |
| 1 s | 1,000 ms |
| 2 s | 2,000 ms |
| 5 s | 5,000 ms |
| 10 s | 10,000 ms |
| 15 s | 15,000 ms |
| 30 s | 30,000 ms |
| 60 s (1 min) | 60,000 ms |
| 120 s (2 min) | 120,000 ms |
| 300 s (5 min) | 300,000 ms |
| 600 s (10 min) | 600,000 ms |
| 900 s (15 min) | 900,000 ms |
| 1,800 s (30 min) | 1,800,000 ms |
| 3,600 s (1 jam) | 3,600,000 ms |
| 86,400 s (1 hari) | 86,400,000 ms |
Milisaat dalam Bahasa Berbeza
Bahasa dan persekitaran yang berbeza menggunakan unit masa lalai yang berbeza. Ini adalah sumber biasa pepijat halus.
JavaScript: Date.now() mengembalikan milisaat. setTimeout(fn, 5000) mengambil milisaat. new Date().getTime() mengembalikan milisaat.
const ts_ms = Date.now(); // milisaat
const ts_s = Math.floor(Date.now() / 1000); // saat
setTimeout(fn, 5 * 1000); // 5 saat dalam ms
Python: time.time() mengembalikan saat (float). time.sleep(5) mengambil saat.
import time
ts_s = time.time() # saat (float)
ts_ms = time.time() * 1000 # milisaat
time.sleep(0.5) # 500ms dalam saat
Node.js process.hrtime(): Mengembalikan nanoaat (ketepatan sangat tinggi). performance.now() mengembalikan milisaat.
const start = performance.now();
// ... buat sesuatu ...
const elapsed_ms = performance.now() - start;
const elapsed_s = elapsed_ms / 1000;
Animasi dan peralihan CSS: Gunakan saat sebagai unit.
transition: all 0.3s ease; /* 300ms */
animation-duration: 1.5s; /* 1500ms */
Redis TTL: EXPIRE key seconds — mengambil saat, bukan milisaat. PEXPIRE key milliseconds adalah versi milisaat.
Ungkapan cron: Berfungsi dalam keseluruhan saat pada granulariti paling halus (beberapa pelaksanaan, seperti Spring's @Scheduled, menyokong saat; cron unix piawai adalah granulariti minit).
Cap Masa Unix: Saat lwn Milisaat
Pepijat lintas bahasa yang paling umum melibatkan milisaat: cap masa Unix.
- Piawai Unix adalah saat sejak epoch (1 Januari 1970)
Date.now()JavaScript adalah milisaat sejak epoch- Cap masa saat adalah 10 digit (kini ~1.7 bilion)
- Cap masa milisaat adalah 13 digit (kini ~1.7 trilion)
Jika anda menghantar cap masa JavaScript milisaat ke bahagian belakang Python yang menjangkakan saat, anda mendapat tarikh pada tahun 55,000. Jika anda menghantar cap masa saat ke new Date() JavaScript, anda mendapat tarikh pada 1970.
Heuristik pengesanan:
- 10 digit = saat
- 13 digit = milisaat
// Normalkan ke saat tanpa mengira format input
function toSeconds(ts) {
return ts > 9999999999 ? Math.floor(ts / 1000) : ts;
}
Pengukuran Prestasi
Apabila mengprofilkan kod atau mengukur masa pelaksanaan, milisaat dan mikroaat muncul bergantung pada apa yang anda ukur.
| Skala | Unit | Contoh penggunaan |
|---|---|---|
| < 1 ms | Mikroaat (µs) | Operasi CPU, akses memori |
| 1–100 ms | Milisaat | Pertanyaan pangkalan data, panggilan API, render |
| 100–1,000 ms | Milisaat | Pertanyaan perlahan, pemprosesan imej |
| > 1 s | Saat | Masa pemuatan halaman, pemprosesan kelompok |
Untuk prestasi web:
- < 100 ms: Terasa serta-merta
- 100–300 ms: Boleh diperhatikan tetapi boleh diterima
- 300–1,000 ms: Terasa perlahan; penenun mungkin diperlukan
- > 1 s: Pengguna menganggap sebagai "memuatkan"
Core Web Vitals Google menggunakan milisaat: Largest Contentful Paint (LCP) sepatutnya di bawah 2,500ms, Interaction to Next Paint (INP) di bawah 200ms, Cumulative Layout Shift tidak mempunyai unit.
Had Kadar dan Penimbal
Had kadar sering dinyatakan dalam permintaan setiap tetingkap masa. Menukar tetingkap ke milisaat berguna untuk melaksanakan logik penimbal:
| Had kadar | Tetingkap dalam ms | Masa antara permintaan |
|---|---|---|
| 100 req/s | 1,000 ms | 10 ms minimum |
| 60 req/min | 60,000 ms | 1,000 ms minimum |
| 1,000 req/jam | 3,600,000 ms | 3,600 ms minimum |
| 10,000 req/hari | 86,400,000 ms | 8,640 ms minimum |
Pelaksanaan penimbal mudah menggunakan tetingkap dalam milisaat:
const RATE_LIMIT_WINDOW_MS = 60 * 1000; // 60 saat
const MAX_REQUESTS = 60;
// satu permintaan setiap 1000ms secara purata
const MIN_INTERVAL_MS = RATE_LIMIT_WINDOW_MS / MAX_REQUESTS; // 1000
Untuk sebarang penukaran unit masa lain di luar milisaat — hari ke jam, minggu ke minit, tahun ke saat — Penukar Masa meliputi julat penuh.


