我看到Time类有不同的方法来实现一个新的Time对象,调用Time.new或.local或mktime之间的区别是什么?
以不同的名称分享他们相同的实现?
我在Ruby文档中看到Time,默认情况下,构造函数new用可选参数设置为nil表示 其他方法如.local和mktime对每个不同的符号都有一个重载 这只是因为你不能在Ruby中为构造函数提供重载吗?
答案 0 :(得分:0)
Time.mktime
是Time.local
的同义词,并根据您提供的值创建时间。 Time.new
使用系统中的时间值来创建对象。
我发现this非常有用:
Time.new - > aTime返回初始化为当前的Time对象 系统时间。注意:创建的对象将使用 您的系统时钟可用的分辨率,因此可能包括 小秒数。
Time.gm(年[,月,日,小时,分钟,秒,用途]) - > ATIME Time.gm(秒,分钟,小时,日,月,年,日,日,日,tz) - > aTime根据给定值创建时间,解释为UTC(GMT)。 必须指定年份。其他值默认为最小值 对于该领域(可能是零或省略)。月份可以指定 数字从1到12,或三个字母的英文月份名称。 小时数以24小时制(0..23)指定。提高了 如果任何值超出范围,则为ArgumentError。也会接受十个 Time#to_a输出的顺序中的参数。 Time.local(年[,月,日,小时,分钟,秒,用户]) - > ATIME Time.local(秒,分钟,小时,日,月,年,日,星期日,isdst,tz) - > aTime与Time.gm相同,但解释本地时区的值。
Time.mktime(年,月,日,小时,分钟,秒,用户) - > aTime同义词 对于Time.local。