Mae Ruby yn iaith raglennu sy'n cynnig dulliau pwerus ar gyfer gweithredu gyda data amser. Mae'n hawdd i ddechreuwyr ddechrau gyda Ruby, ac un o'r pethau mwyaf defnyddiol y gallant ei wneud yw rheoli amser. Yn yr erthygl hon, byddwn yn archwilio sut i ddelio â phynciau fel creu amseroedd, cymharu amseroedd, a defnyddio'r gem 'ActiveSupport' i wella ein gallu i ddelio â phynciau amser. Byddwn hefyd yn cynnwys enghreifftiau o god i wneud y broses yn haws i ddeall.
Mae Ruby yn cynnig y dosbarth 'Time' sy'n caniatáu i ni greu a rheoli amseroedd yn hawdd. Gallwn greu amseroedd yn seiliedig ar y dyddiad a'r amser presennol neu ddefnyddio dyddiadau penodol. Dyma sut i wneud hynny:
# Creu amser presennol current_time = Time.now puts "Amser presennol: #{current_time}" # Creu amser penodol specific_time = Time.new(2023, 10, 1, 12, 0, 0) puts "Amser penodol: #{specific_time}"
Yn y cod uchod, rydym yn defnyddio 'Time.now' i gael yr amser presennol, a 'Time.new' i greu amser penodol. Mae'r 'Time.new' yn derbyn blwyddyn, mis, diwrnod, awr, munud, a eiliad fel ei dderbyniadau.
Un o'r pethau pwysig y gallwn ei wneud gyda'r dosbarth 'Time' yw cymharu amseroedd. Gallwn wirio a yw amser penodol yn cynrychioli amser cyn neu ar ôl amser arall. Dyma sut i wneud hynny:
# Creu amseroedd time1 = Time.new(2023, 10, 1, 12, 0, 0) time2 = Time.new(2023, 10, 2, 12, 0, 0) # Cymharu amseroedd if time1 < time2 puts "#{time1} yn cynrychioli amser cyn #{time2}" elsif time1 > time2 puts "#{time1} yn cynrychioli amser ar ôl #{time2}" else puts "#{time1} a #{time2} yn yr un amser" end
Yn y cod hwn, rydym yn creu dwy amser ac yna'n eu cymharu. Mae'r 'if' yn ein galluogi i wirio pa un sy'n cynrychioli amser cyn neu ar ôl y llall.
Mae ActiveSupport, sy'n rhan o'r gem Rails, yn cynnig llawer o ddulliau defnyddiol ar gyfer rheoli amser. Mae'n cynnig dulliau fel 'ago', 'from_now', a 'change' sy'n gwneud ein bywydau'n haws. Dyma enghraifft o sut i ddefnyddio ActiveSupport:
# Sicrhau bod ActiveSupport wedi'i fewnforio require 'active_support/all' # Creu amser presennol current_time = Time.now # Defnyddio ActiveSupport i ychwanegu amser future_time = current_time + 1.day puts "Amser yn y dyfodol: #{future_time}" # Defnyddio ActiveSupport i dynnu amser past_time = current_time - 1.week puts "Amser yn y gorffennol: #{past_time}"
Yn y cod hwn, rydym yn defnyddio ActiveSupport i ychwanegu diwrnod a thynnu wythnos o'r amser presennol. Mae hyn yn gwneud ein bywydau'n haws gan nad oes angen i ni gyfrifo'r eiliadau yn ein hunain.
Gallwn hefyd ychwanegu a thynnu amser yn hawdd gyda'r dosbarth 'Time'. Mae'n hawdd gwneud hyn gyda'r dulliau 'plus' a 'minus'. Dyma enghraifft:
# Creu amser presennol current_time = Time.now # Ychwanegu amser added_time = current_time + (2 * 60 * 60) # Ychwanegu 2 awr puts "Amser wedi'i ychwanegu: #{added_time}" # Tynnu amser subtracted_time = current_time - (30 * 60) # Tynnu 30 munud puts "Amser wedi'i dynnu: #{subtracted_time}"
Yn y cod hwn, rydym yn ychwanegu 2 awr a thynnu 30 munud o'r amser presennol. Mae'n bwysig nodi bod angen i ni gyfrifo'r eiliadau yn ein hunain, gan fod Ruby yn derbyn amser yn eiliadau.
Mae'n bwysig gallu fformatio amser yn gywir ar gyfer arddangos. Mae Ruby yn cynnig dull 'strftime' sy'n ein galluogi i fformatio amser yn seiliedig ar ein hanghenion. Dyma enghraifft:
# Creu amser presennol current_time = Time.now # Fformatio amser formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S") puts "Amser fformatiedig: #{formatted_time}"
Yn y cod hwn, rydym yn defnyddio 'strftime' i fformatio'r amser presennol i'r fformat "blwyddyn-mis-diwrnod awr:myned". Mae'r dull hwn yn hynod ddefnyddiol pan fydd angen i ni ddangos amser mewn fformat penodol.
Mae'n bwysig deall y gwahaniaeth rhwng amseroedd a dyddiadau. Mae Ruby hefyd yn cynnig y dosbarth 'Date' sy'n caniatáu i ni ddelio â dyddiadau heb yr amser. Dyma enghraifft:
# Mewngofnodi'r dosbarth Date require 'date' # Creu dyddiad date = Date.new(2023, 10, 1) puts "Dyddiad: #{date}" # Ychwanegu diwrnod new_date = date + 10 puts "Dyddiad wedi'i ychwanegu: #{new_date}"
Yn y cod hwn, rydym yn creu dyddiad a'i ychwanegu 10 diwrnod. Mae'r dosbarth 'Date' yn caniatáu i ni ddelio â dyddiadau heb y cymhlethdodau sy'n gysylltiedig â'r amser.
Mae Ruby yn cynnig dulliau pwerus ar gyfer rheoli amser a dyddiadau. O greu amseroedd a dyddiadau, cymharu amseroedd, a defnyddio ActiveSupport, mae'n hawdd i unrhyw un ddechrau gyda'r pynciau hyn. Mae'r enghreifftiau a'r dulliau a drafodwyd yn yr erthygl hon yn cynnig sylfaen gadarn ar gyfer dechrau gweithio gyda'r amser yn Ruby. Mae'n bwysig ymarfer a phrofi'r dulliau hyn i ddod yn gyfarwydd â nhw. Gobeithio y byddwch yn mwynhau'r broses o ddysgu am ddelio â'r amser yn Ruby!
© 2024 RailsInsights. All rights reserved.