Ruby构造日期对象和计算日期间天数差的问题

Python011

Ruby构造日期对象和计算日期间天数差的问题,第1张

我写了个程序 你看一下 不明白的话联系我 有注释

#获取当前的时间

today = Time.new

puts "当前日期:" + today.strftime("%Y-%m-%d %H:%M:%S")#采用格式化输出

#获取指定日期的时间 如 2010-08-30 20:50:01

day = Time.local(2010, 8 , 30 , 20, 50, 1)

puts "指定日期:" + day.strftime("%Y-%m-%d %H:%M:%S")

#获取指定日期的秒数(就是1970年到指定日期的秒数)

sec1 = day.to_i

#同理,获取今天的秒数

sec2 = today.to_i

#秒数求差,同时折合为天数

num = (sec1 - sec2)/(24*60*60)

puts (day.strftime("%Y-%m-%d %H:%M:%S") + "与" + today.strftime("%Y-%m-%d %H:%M:%S") + "相差" + num.to_s + "天")

这个怎么说好呢,它们无非就是一些运算符而已,每个符号的用法也有很多种,具体怎么用可以通过看书、看例子来学习,没必要一下记住那么多。

比如:

%#取余运算,如8%3=2

{}#可用在输出,如输出y的值:puts"#{y}",也可用在Hash表如 $R_Key_Hash = {}

. #一般表示某种属性或方法,如对于一个窗口,self.x = 0 表示这个窗口的x坐标为0。

又如

Class Person

def Hello

puts "Hello,my name is Tom."

end

end

p=Person.new

p.Hello #执行这个程序就会输出 Hello,my name is Tom.

? #表判断,如opacity = black_color ? 255 : 128,这个意思是如果是黑色,就不透明,否则为128

, #逗号在数组中较常见,如a = ["1","2","3"],数组a的三个元素依次是1,2,3

‘ #这个在对文件的操作比较常见,如下例:

if Dir.glob('txt').size == 0 #如果文件夹txt不存在

Dir.mkdir('./txt') #那么生成一个名字叫txt的文件夹

end

! # 表示 非 如 if x != 2 表示如果x不等于2

: #这个可能用在属性里

如:

class Game_Picture

attr_reader :number # 图片编号

attr_reader :origin # 原点

attr_reader :x# X 坐标

attr_reader :y# Y 坐标

attr_reader :tone # 色调

attr_reader :angle# 旋转角度

end

#分号的话,一般是写程序每行结束才用到,但其实ruby的每行结束是可以不用分号的,回车换行就行,我也只是在用Interactive Ruby编译器时才会用分号

从我上边的回答可看出,基本每个符号都用几种用法,平时多学习,多积累就好了

查询核心模块Kernel API可知:

如果是Float类型则通过Kernel.Float(字符串)判断,这里不能转为浮点数则会抛出异常。你只需再捕获一下输出自己的信息就行。