Module: CUKES::DateTimeLibrary

Included in:
BrowserSettings, CreateLog, CustomHtmlReport
Defined in:
lib/friendly/cukes/framework/library/generic/datetime_library.rb

Instance Method Summary collapse

Instance Method Details

#format_nonoseconds_to_time(num_nanoseconds) ⇒ Object

Description : converts nanoseconds into DD:HH:MM:SS time format Author : Chandra sekaran Argument :

num_nanoseconds : datetime value for start time

Return Argument : time in DD:HH:MM:SS as string



67
68
69
70
71
72
73
74
75
76
# File 'lib/friendly/cukes/framework/library/generic/datetime_library.rb', line 67

def format_nonoseconds_to_time(num_nanoseconds)
  hours = num_nanoseconds/3.6E+12
  minutes = hours*60%60
  seconds = (hours*3600%60).round
  days = hours.to_i/24
  "#{days.to_i}:#{(hours.to_i%24).to_i}:#{minutes.to_i}:#{seconds}"   # returns time in DD:HH:MM:SS format
rescue Exception => ex
  $log.error("Error in converting nanoseconds (#{num_nanoseconds}) to time : #{ex}")
  exit
end

#get_current_datetimeObject

Description : returns the current system time (datetime format) Author : Chandra sekaran



15
16
17
18
19
20
# File 'lib/friendly/cukes/framework/library/generic/datetime_library.rb', line 15

def get_current_datetime
  Time.now
rescue Exception => ex
  $log.error("Error in getting current time : #{ex}")
  exit
end

#get_datetime_diff(start_time, end_time) ⇒ Object

Description : returns the difference between two dates in Hours:Minutes:Seconds string Author : Chandra sekaran Arguments :

start_date    : datetime value for start time
end_date      : datetime value for end time


40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/friendly/cukes/framework/library/generic/datetime_library.rb', line 40

def get_datetime_diff(start_time, end_time)
  num_difference = end_time.to_i - start_time.to_i
  num_seconds    =  num_difference % 60                   # get seconds
  num_difference = (num_difference - num_seconds) / 60
  num_minutes    =  num_difference % 60                   # get minutes
  num_difference = (num_difference - num_minutes) / 60
  num_hours      =  num_difference % 24                   # get hours
  num_difference = (num_difference - num_hours)   / 24
  num_days       =  num_difference % 7                    # get days
  # num_weeks      = (num_difference - num_days)    /  7

  if num_days > 0
    return "#{num_days}:#{num_hours}:#{num_minutes}:#{num_seconds}"
  else
    return "#{num_hours}:#{num_minutes}:#{num_seconds}"
  end
rescue Exception => ex
  $log.error("Error in getting datetime difference : #{ex}")
  #exit
end

#get_formatted_datetime(date_time) ⇒ Object

Description : returns the formatted system time (datetime format) Author : Chandra sekaran Arguments :

date_time     : datetime value that has to be formatted


27
28
29
30
31
32
# File 'lib/friendly/cukes/framework/library/generic/datetime_library.rb', line 27

def get_formatted_datetime(date_time)
  date_time.strftime(DATETIME_FORMAT)
rescue Exception => ex
  $log.error("Error in getting formatted time : #{ex}")
  #exit
end