Format tanggal dan angka

Dokumen ini menjelaskan cara menentukan pola format tanggal dan angka baru, yang dapat Anda sertakan dalam permintaan API.

Format tanggal-waktu dan angka memungkinkan Anda mengontrol tampilan data di sheet. Google Spreadsheet menyediakan beberapa format umum yang dapat dipilih, tetapi Anda juga dapat menentukan format sendiri.

Di UI Spreadsheet, Anda menerapkan format angka dan tanggal ke sel menggunakan menu Format > Angka. Di Google Sheets API, Anda menetapkan format ini menggunakan panggilan metode spreadsheets.batchUpdate untuk mengirim UpdateCellsRequest atau RepeatCellRequest. Dalam permintaan, Anda mengonfigurasi objek NumberFormat dengan menentukan NumberFormatType (seperti NUMBER, CURRENCY, PERCENT, DATE, atau TIME) dan string pattern opsional. Jika Anda menghilangkan pattern, Spreadsheet akan menggunakan pola format default untuk type yang ditentukan berdasarkan locale spreadsheet (misalnya, $1,000.12 untuk CURRENCY di en_US).

Contoh Menetapkan format tanggal dan waktu atau desimal kustom untuk rentang menunjukkan cara menetapkan pola format menggunakan Sheets API. Perhatikan bahwa rendering format yang sebenarnya bergantung pada locale spreadsheet. Dokumen ini mengasumsikan bahwa locale adalah en_US. Anda dapat menentukan locale spreadsheet dengan membaca objek SpreadsheetProperties menggunakan metode spreadsheets.get pada resource spreadsheets.

Untuk contoh lainnya, lihat Pemformatan dasar dan Pemformatan bersyarat.

Tentang nilai tanggal dan waktu

Spreadsheet, seperti kebanyakan aplikasi spreadsheet lainnya, memperlakukan nilai tanggal dan waktu sebagai nilai desimal. Hal ini memungkinkan Anda melakukan aritmetika pada tanggal dan waktu dalam formula, sehingga Anda dapat menambah hari atau minggu, menambah atau mengurangi dua tanggal dan waktu, serta melakukan operasi serupa lainnya.

Spreadsheet menggunakan bentuk tanggal epoch yang umum digunakan dalam spreadsheet. Bagian bilangan bulat dari nilai (di sebelah kiri desimal) menghitung hari sejak 30 Desember 1899. Bagian pecahan (di sebelah kanan desimal) menghitung waktu sebagai pecahan dari satu hari. Misalnya, 1 Januari 1900 pada siang hari adalah 2.5, 2 karena 2 hari setelah 30 Desember 1899, dan 0.5 karena siang hari adalah setengah hari. 1 Februari 1900 pukul 15.00 adalah 33.625.

Spreadsheet memperlakukan tahun 1900 dengan benar sebagai tahun biasa, bukan tahun kabisat. Nomor seri tanggal dan waktu tidak menyimpan selisih zona waktu. Sebagai gantinya, ID tersebut didasarkan pada timeZone spreadsheet, yang dapat Anda baca dari objek SpreadsheetProperties menggunakan metode spreadsheets.get.

Pola format tanggal dan waktu

Pola format tanggal-waktu adalah string substring token yang diganti Spreadsheet dengan elemen tanggal-waktu yang sesuai (seperti bulan atau jam) saat diurai.

Token format tanggal dan waktu

Tabel berikut menentukan substring token yang dapat Anda gunakan dalam pola format tanggal-waktu. Karakter + menunjukkan bahwa karakter sebelumnya dapat muncul satu atau beberapa kali dan masih cocok dengan pola. Spreadsheet memperlakukan karakter yang tidak tercantum dalam tabel ini sebagai literal dan menampilkannya tanpa perubahan.

Token Deskripsi
h Jam. Beralih antara format 12 dan 24 jam, bergantung pada apakah indikator AM atau PM ada dalam string.
hh+ Sama seperti sebelumnya, tetapi dengan angka 0 di depan untuk 1-9.
m Jika token non-literal sebelumnya adalah jam atau token berikutnya adalah detik, token ini mewakili menit dalam jam (tanpa angka 0 di depan). Jika tidak, bulan dalam setahun akan direpresentasikan sebagai angka (tanpa angka 0 di depan).
M Bulan dalam tahun tanpa awalan 0. Gunakan token ini untuk menyatakan bulan secara eksplisit, bukan menit, dalam pola Anda.
mm Sama seperti m, tetapi dengan angka 0 di awal untuk kedua kasus.
MM Bulan dalam tahun dengan awalan 0. Gunakan token ini untuk menyatakan bulan, bukan menit, secara eksplisit dalam pola Anda.
mmm Singkatan bulan tiga huruf (misalnya, "Feb").
mmmm Nama bulan lengkap. mmmmmm+ juga cocok dengan ini.
mmmmm Huruf pertama bulan (misalnya, "J" untuk Juni).
s Detik dalam menit tanpa angka 0 di awal.
ss Detik dalam menit dengan awalan 0.
[h+] Jumlah jam yang berlalu dalam durasi waktu. Jumlah huruf menunjukkan jumlah digit minimum (menambahkan angka 0 di awal).
[m+] Jumlah menit yang berlalu dalam durasi waktu. Jumlah huruf menunjukkan jumlah digit minimum (menambahkan angka 0 di awal).
[s+] Jumlah detik yang berlalu dalam durasi waktu. Jumlah huruf menunjukkan jumlah digit minimum (menambahkan angka 0 di awal).
d Tanggal, tanpa angka 0 di depan untuk angka kurang dari 10.
dd Tanggal, dengan angka 0 di depan untuk angka kurang dari 10.
ddd Hari dalam seminggu, singkatan tiga huruf (misalnya, "Mon").
dddd+ Hari dalam seminggu, nama lengkap.
y Tahun 2 digit.
yy
yyy 4 digit tahun.
yyyy+
a/p Menampilkan "a" untuk AM, dan "p" untuk PM. Juga mengubah jam menjadi format 12 jam. Jika huruf token menggunakan huruf kapital, outputnya juga akan menggunakan huruf kapital.
am/pm Seperti di atas, tetapi menampilkan "AM" atau "PM" dan selalu menggunakan huruf kapital.
0 Sepersepuluh detik. Anda dapat meningkatkan presisi menjadi dua digit dengan 00 atau tiga digit (milidetik) dengan 000.
\ Memperlakukan karakter berikutnya sebagai nilai literal dan bukan arti khusus yang mungkin dimilikinya.
"text" Menampilkan teks apa pun di dalam tanda kutip sebagai literal.

Contoh format tanggal dan waktu

Dengan tanggal dan waktu Tuesday, April 5, 2016, 4:08:53.528 PM, tabel berikut menunjukkan beberapa contoh pola dan rendering tanggal-waktu yang sesuai. Bagian kedua tabel menunjukkan contoh format waktu berlalu untuk waktu berlalu 3 hours, 13 minutes, 41.255 seconds:

Pola Tanggal-Waktu Tuesday, April 5, 2016, 4:08:53.528 PM
h:mm:ss.00 a/p 16.08.53,53
hh:mm A/P".M." 16.08
yyyy-mm-dd 2016-04-05
mmmm d \[dddd\] 5 April [Selasa]
h PM, ddd mmm dd 16.00, Sel 05 Apr
dddd, m/d/yy at h:mm Selasa, 5/4/16 pukul 16.08
Pola Waktu Berlalu 3 hours, 13 minutes, 41.255 seconds
[hh] 03
[mmmm] 0193
[ss] 11621

Pola format angka

Pola format angka adalah string substring token yang diganti oleh Spreadsheet dengan representasi angka yang sesuai saat diurai. Pola format angka dapat terdiri dari hingga empat bagian, yang dipisahkan dengan titik koma, yang menentukan format terpisah yang digunakan untuk angka positif, angka negatif, nol, dan teks (dalam urutan tersebut):

[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT];[TEXT FORMAT]

Anda tidak perlu menyertakan keempat bagian dalam satu format. Jika Anda hanya menyertakan satu bagian, Spreadsheet akan menggunakan format tersebut untuk semua nilai. Menggunakan dua bagian akan menerapkan format pertama ke angka nol dan positif, serta format kedua ke angka negatif. Menggunakan tiga bagian akan menentukan format terpisah untuk angka positif, negatif, dan nol. Contoh:

[NUMBER FORMAT]
[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT]
[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT]

Namun, jika ada dua bagian atau lebih dan bagian terakhir adalah format teks, Spreadsheet akan memperlakukan bagian tersebut sebagai format teks dan bagian lainnya akan berperilaku seolah-olah ada satu bagian yang lebih sedikit. Dengan demikian, dengan menyertakan format teks akhir, Anda dapat menentukan format seperti:

[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT];[TEXT FORMAT]
[NUMBER FORMAT];[TEXT FORMAT]

Penguraian format menjadi beberapa bagian terjadi sebelum penguraian lainnya, sehingga format tanggal atau waktu dapat disertakan sebagai salah satu bagian (meskipun hal ini memiliki kegunaan yang terbatas).

Token format angka

Tabel berikut menentukan substring token yang dapat Anda gunakan di bagian format untuk menentukan cara menampilkan nilai untuk bagian tersebut.

Token Deskripsi
0 Mewakili digit dalam angka. Jika digitnya adalah 0 yang tidak signifikan, digit tersebut akan dirender sebagai 0. Misalnya, format angka 00.0 merender angka 3 sebagai "03.0".
# Mewakili digit dalam angka. Jika digitnya adalah 0 yang tidak signifikan, digit tersebut tidak akan dirender. Misalnya, format angka ##0 merender angka 12 sebagai "12".
? Mewakili digit dalam angka. Jika digitnya adalah 0 yang tidak signifikan, digit tersebut akan dirender sebagai spasi. Hal ini sering digunakan untuk menyelaraskan tanda desimal dalam kolom saat menggunakan font dengan lebar tetap. Misalnya, format angka ???.??? merender angka 12,4 sebagai: " 12.4 ".
. Titik pertama mewakili tanda desimal dalam angka. Titik berikutnya dirender sebagai literal. Jika Anda menyertakan tanda desimal dalam format, tanda tersebut akan selalu dirender, bahkan untuk bilangan bulat. Misalnya, #0.# merender angka 3 sebagai "3.".
% Muncul sebagai literal, tetapi juga menyebabkan angka yang ada dikalikan dengan 100 sebelum dirender agar persentase lebih mudah dibaca. Misalnya, format angka #% merender angka 0,25 sebagai "25%".
, Jika muncul di antara karakter dua digit (0, #, atau ?), karakter ini akan merender seluruh angka dengan pemisah pengelompokan (pengelompokan berdasarkan ribuan). Jika mengikuti karakter digit, koma akan menskalakan digit sebesar seribu per koma (misalnya, format #0.0,, merender angka 12.200.000 sebagai 12.2).
E- Merender angka dalam format ilmiah, dengan pemformatan di sebelah kiri E yang digunakan untuk bagian non-eksponen dan pemformatan di sebelah kanan E yang digunakan untuk bagian eksponen. E+ menampilkan tanda + untuk eksponen positif. E- hanya menampilkan tanda untuk eksponen negatif. Jika huruf kecil digunakan, output e juga akan menggunakan huruf kecil. Misalnya, format angka ##0.00#E+## merender angka 0,0000001 sebagai "100.00E-9".
E+
e-
e+
/ Jika muncul di antara karakter dua digit (0, #, atau ?), karakter tersebut akan memperlakukan grup digit tersebut sebagai format pecahan. Misalnya, format angka 0 #/# merender angka 23,25 sebagai 23 1/4. Penyebut juga dapat berupa literal bilangan bulat, yang dalam hal ini menerapkan bilangan bulat tersebut sebagai penyebut. Format angka 0 #/8 menampilkan angka 23,25 sebagai 23 2/8. Bagian pecahan tidak dirender jika pembilangnya menjadi 0. Angka 23,1 dengan format angka 0 #/3 dirender sebagai 23 saja (karena 0,1 dibulatkan menjadi 0/3). / tidak kompatibel dengan format ilmiah atau format yang memiliki tanda desimal di dalamnya.
* Disertakan untuk kompatibilitas dengan format angka Microsoft Excel. Spreadsheet mengabaikan token ini.
_ Melewati karakter berikutnya dan merender spasi. Gunakan token ini untuk menyelaraskan format angka yang menggunakan tanda kurung untuk nilai negatif.
\ Memperlakukan karakter berikutnya sebagai nilai literal dan bukan arti khusus yang mungkin dimilikinya. Misalnya, format angka \#0 merender angka 10 sebagai "#10".
"text" Menampilkan teks apa pun di dalam tanda kutip sebagai literal.
@ Jika sel memiliki input teks, sel akan menyisipkan teks mentah untuk sel tersebut. Tidak kompatibel dengan karakter khusus lainnya dan tidak ditampilkan untuk nilai numerik (yang ditampilkan sebagai format umum).
$ - + ( ) : space Spreadsheet memperlakukan karakter ini dan simbol mata uang umum (seperti $, €, £, dan ¥) sebagai literal dan menampilkannya tanpa perubahan.

Petunjuk meta

Selain itu, setiap bagian format dapat memiliki petunjuk meta opsional, yang diapit karakter [], yang mendahului format dan memberikan petunjuk tambahan:

Petunjuk Deskripsi
[condition] Mengganti perbandingan positif, negatif, atau nol default dari bagian dengan ekspresi bersyarat lain. Misalnya, [<100]"Low";[>1000]"High";000 merender kata "Low" untuk nilai di bawah 100, "High" untuk nilai di atas 1000, dan angka tiga digit (dengan angka 0 di awal) untuk nilai di antaranya. Anda hanya dapat menerapkan kondisi ke dua subformat pertama, dan jika sebuah angka cocok dengan lebih dari satu, Spreadsheet akan menggunakan kecocokan pertama. Jika ada format ketiga, Spreadsheet akan menggunakannya untuk "hal lainnya"; jika tidak, jika angka tidak cocok dengan salah satu format, Spreadsheet akan merender semua karakter "#" di seluruh lebar sel. Jika ada, format keempat selalu digunakan untuk teks.
[Color] or [Color#] Menyebabkan nilai apa pun yang dirender sub-format ini muncul dengan warna teks yang diberikan. Nilai yang valid untuk Color adalah Black, Blue, Cyan, Green, Magenta, Red, White, atau Yellow. Nilai yang valid untuk "#" di Color# adalah dari 1 hingga 56. Warna format angka menggantikan warna apa pun yang dimasukkan pengguna pada sel, tetapi tidak menggantikan warna yang ditetapkan oleh pemformatan bersyarat. Palet warna ini menampilkan daftar warna yang sesuai dengan setiap angka. Fungsi ini didasarkan pada properti ColorIndex di Microsoft Excel.
[$currency] Menampilkan simbol atau kode mata uang yang ditentukan sebagai literal (misalnya, [$€]#,##0.00 atau [$CAD]#,##0.00). Jika Anda menyertakan kode lokalitas opsional setelah tanda hubung (seperti [$CAD-1009]), Spreadsheet akan mengabaikan kode lokalitas tersebut.

Contoh format angka

Tabel berikut menampilkan beberapa contoh pola dan rendering angka berformat yang sesuai:

Angka Pola Nilai Terformat
12345.125 ####.# 12345.1
12,34 000.0000 012,3400
12 #.0# 12.0
5,125 # ???/??? 5 1/8
12000 #,### 12.000
1234.56
-1234.56
$#,##0.00;($#,##0.00) $1.234,56
($1.234,56)
1230000 0.0,,"M" 1,2 JT
1234500000 0.00e+00 1,23e+09
123114.15115
MyText
###0.000;"TEXT: "_(@_) 123114.151
TEXT: MyText
1234
-1234
0
MyText
[Blue]#,##0;[Red]#,##0;[Green]0.0;[Magenta]_(@_) 1.234
1.234
0.0
MyText
1005
32
527
[>1000]"HIGH";[Color43][<=200]"LOW";0000 TINGGI
RENDAH
0527