Time - Ruby Programing
Merupakan sebuah tipe data yang dapat digunakan untuk menyimpan data berupa satuan tanggal dan waktu.Membuat sebuah variabel Time
Untuk membuat sebuah variabel time, kita hanya perlu menggunakan Time.new yang akan menghasilkan sebuah nilai berisi waktu pada saat pembuatan variabel tersebut dilakukan. Contoh :
now = Time.new atau now = Time.now
Kita juga dapat menambahkan pengaturan lainnya seperti menentukan tahun, bulan, tanggal, waktu, zona, dan lain lain. Struktur nya adalah seperti berikut ini :
Time.new(year, month, day, hour, minute, second, zone)
Sehingga kita dapat melakukan seperti berikut :
now = Time.new(2002,10,31,2,2,2,"+07:00")
Kita juga bisa menggunakan method Time.at() dalam pengisian variabel time
contoh :
now = Time.at(628232400)
Untuk mendapatkan nilai second nya tersebut kita bisa mendapatkannya dengan cara :
now = Time.new
now = Time.at(now.to_i)
Singkatnya :
now = Time.at(Time.new.to_i)
Untuk cek hari apa ini, kita dapat melakukan pengecekkannya dengan memasukkan nama hari tersebut. Contoh :
now.monday? #=> jika hari ini merupakan hari senin maka akan mengembalikan nilai true . jika salah false
Untuk mendapatkan nilai tahun sekarang, kita hanya perlu menggunakan method .year. Contoh :
now.year #=> 2013
Untuk mendapatkan informasi apakah sekarang merupakan daylight saving (siang / malam mungkin) -_-
contoh :
now.dst? #=> false jika time masih menunjukkan siang hari .. dan true pada malam hari .. iya kah ? :P
Untuk mendapatkan hari satu tahun yg akan datang . gunakan method ini
now + (60*60*24*365)
Untuk mendapatkan nilai second pada suatu tanggal . hanya perlu menggunakan to_i (konfersi ke integer)
now.to_i
Kita juga dapat membandingkan dua buah tanggal menggunakan perbandingan persamaan (==), lebih kecil (<) dan lebih besar (>)
Membuat sebuah kondisi antara dua buah tanggal ..
contoh :
year1 = Time.new(2010)
year2 = Time.new(2011)
Time.new(2010,10,31).between?(year1,year2) #=> true .. karena tanggal 31 Oktober 2010 berada diantara 2010 dan 2011
Untuk mendapatkan tanggal dan hari berdasarkan local suatu posisi, gunakan local. Contoh :
now = Time.local(2010) #=> akan diisi dengan akhiran sesuai dengan local lokasi time itu dibuat . indonesia +0700
Untuk yg bukan local, bisa gunakan utc atau gm..
contoh :
now = Time.gm(2010) atau Time.utc(2010)
Untuk mendapatkan tanggal hari berikutnya
t = Time.now
t + (60 * 60 * 24) #=> akan menghasilkan tanggal untuk hari berikutnya
Time juga dapat di kurangi . contoh :
t = Time.now
t2 = t + 2592000 (satu bulan)
t2 - t (akan menghasilkan 2592000)
t2 - 2592000 (akan kembali ke bulan sebelumnya)
Kita juga dapat membandingkan dua buah time, untuk mendapatkan nilai 1 (jika A > B), -1 atau nol (jika sama)
Untuk menampilkan sebuah tanggal dengan format tertentu bisa menggunakan asctime dan ctime
contoh :
Time.now.asctime #=> "Wed Apr 9 08:56:03 2003"
Time.now.ctime #=> "Wed Apr 9 08:56:03 2003"
Untuk mendapatkan nilai tanggal berapa sekarang, bisa menggunakan method .day
Time.now.day
t.day
Untuk mendapatkan zone time.
time.zone
Untuk membandingkan dua buah tanggal apakah sama atau tidak, bisa menggunakan eql?
contoh :
time1 = Time.new(2010)
time2 = Time.new(2010)
time1.eql?(time2) #=> akan menghasilkan nilai true karena time1 dan time2 adalah sama atau equal
Untuk mengecek apakah time tersebut merupakan gmt kita dapat menggunakan .gmt?
t = Time.local(2010,1,1,20,15,1)
t.gmt? #=> false karena merupakan time local
y = t.getgm #=> untuk mendapatkan nilai gmt nya ..
y.gmt? #=> true karena y diisi dengan time gmt dari t
t == y #=> true karena t dan y sama meskipun isi nya berbeda . secara waktu dunia itu sama ..
Untuk konfersi dari gmt ke local, bisa menggunakan .getlocal
Contoh :
time_gmt = time_gmt.getlocal
UTC dan GMT sama saja, gunakan gmt? dan getgm
Untuk mengecek berapa banyak perbedaan antara waktu gmt dan local bisa menggunakan gmt_offset
time.gmt_offset
Untuk mendapatkan gmt time atau utc time bisa menggunakan .gmtime atau .utc
time.gmtime
time.utc
Untuk mendapatkan jam, bisa menggunakan .hour
time = Time.now
time.hour
Untuk konfersi time ke dalam bentuk string, bisa menggunakan .to_s
time = Time.now
time.to_s
Untuk mendapatkan menit, bisa menggunakan .min
time = Time.now
time.min
Untuk mendapatkan bulan, bisa menggunakan .mon atau .month
time = Time.now
time.mon
time.month
Konfersi time ke dalam array, bisa menggunakan .to_a
time = Time.now
time.to_a #=> [1, 36, 8, 19, 11, 2007, 1, 323, false, "CST"]
[sec, min, hour, day, month, year, wday, yday, isdst, zone]
Untuk mendapatkan hari keberapa dalam suatu tahun, bisa menggunakan .yday
Contoh :
time = Time.now
time.yday
Sekian mengenai tipe data Time pada bahasa pemrograman Ruby.
Let's share :)
nice
ReplyDelete