Time类用于表示时间。时间除了表示年月日时分秒的信息外,还包含了表示地域时差的时区(time zone)信息。例如我们可以计算中国当前时间是国际协调时间的几点

  Date类只用于表示年月日。因此,相对于Time类以秒为单位计算时间,Date类则是以天为单位进行计算的。Date类还可以求下个月的同一天,本月末等日期

  • Time

    puts Time.new #=> 2017-07-26 22:41:42 +0800
    puts Time.now #=> 2017-07-26 22:41:42 +0800 t = Time.now
    puts t
    puts t.year #=> 2017年
    puts t.month #=> 7月
    puts t.day #=> 26日
    puts t.hour #=> 22时
    puts t.min #=> 44分
    puts t.sec #=> 7秒
    puts t.usec #=> 524674毫秒
    puts t.to_i #=> 1501080502从1970年1月1日到当前时间的秒数
    puts t.wday #=> 3一周当中的第几天
    puts t.mday #=> 26一个月当中的第几天
    puts t.yday #=> 207一年当中的第几天
    puts t.zone #=> 中国标准时间 时区
    puts t.utc #=> 2017-07-26 15:10:07 UTC 转换为UTC时间
    puts t.localtime #=> 2017-07-26 23:11:54 +0800 转换为本地时间
    #根据指定时间获取事件对象
    t = Time.mktime(2013, 3, 28, 2, 32, 12)
    puts t #=> 2013-03-28 02:32:12 +0800 #Time类计算
    t1 = Time.now
    sleep 10
    t2 = Time.now
    puts t1<t2 #=> true
    puts t2-t1 #=> 10.000197
    puts t2, t2+24*60*60 #时间格式
    t = Time.now
    puts t.strftime('%Y-%m-%d %H:%M:%S %z') #=> 2018-05-10 02:14:08 +0800
    puts t.to_s #=> 等价于'%Y-%m-%d %H:%M:%S %z' require 'time'
    #转换为电子邮件头部的Date,需要导入time类
    t = Time.now
    puts t.rfc2822 #=> Wed, 26 Jul 2017 23:06:59 +0800 #转换为ISO国际标准时间的时间格式的字符串
    t = Time.now
    puts t.iso8601 #=> 2017-07-26T23:08:54+08:00 #字符串时间转换
    puts Time.parse('Wed, 26 Jul 2017 23:06:59 +0800') #=> 2017-07-26 23:06:59 +0800
    puts Time.parse('2013/3/21 12:45:56') #=> 2013-03-21 12:45:56 +0800
  • Date

    require 'date'
    
    d = Date.today
    puts d #=> 2017-07-26 当前日期
    puts d.year #=> 2017 年
    puts d.month #=>7 月
    puts d.day #=>26 日
    puts d.wday #=> 3 一周的第几天
    puts d.mday #=> 26 一个月中的第几天
    puts d.yday #=> 207 一年中的第几天 #指定日期生成Date对象
    d = Date.new(2013, 3, 30)
    puts d #=> 2013-03-30 #日期运算
    d1 = Date.new(2013, 1, 1)
    d2 = Date.new(2013, 1, 4)
    puts d2 - d1 #=> 3/test.text (3天的意思) d = Date.today
    #+,-按天数计算
    puts d #=> 2017-07-26
    puts d + 1 #=> 2017-07-27
    puts d + 100 #=> 2017-11-03
    puts d - 1 #=> 2017-07-25
    puts d - 100 #=> 2017-04-17 d = Date.today
    #>>,<<按月数计算
    puts d #=> 2017-07-26
    puts d >> 1 #=> 2017-08-26
    puts d >> 100 #=> 2025-11-26
    puts d << 1 #=> 2017-06-26
    puts d << 100 #=> 2009-03-26 #日期格式
    t = Date.today
    puts t.strftime('%Y/%m/%d %H:%M:%S') #=> 2017/07/26 00:00:00
    puts t.strftime('%a %b %d %H:%M:%S %Z %Y') #=> Wed Jul 26 00:00:00 +00:00 2017
    puts t #=> 2017-07-26 #字符串转换为日期
    puts Date.parse('Wed Jul 26 00:00:00 +00:00 2017') #=> 2017-07-26
    # 时间日期相互转换
    Time.new.to_date
    Date.today.to_time

ruby Time类与Date类的更多相关文章

  1. Math类、Random类、System类、BigInteger类、BigDecimal类、Date类、SimpleDateFormat、Calendar类

    Math类* A:Math类概述 * Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. * B:成员方法 * public static int abs(int a)  ...

  2. Ruby Time类和Date类

    Time类 更新: 2017/06/23 更新了Data/Time在model模式下的便利方法 更新: 2018/10/12 修改了%Y相关描述防止误解  年月日时分秒,时区    生成  获取当前时 ...

  3. 14-03 java BigInteger类,BigDecimal类,Date类,DateFormat类,Calendar类

    BigInteger类 发 package cn.itcast_01; import java.math.BigInteger; /* * BigInteger:可以让超过Integer范围内的数据进 ...

  4. 正则表达式、Calendar类、SimpleDateFormat类、Date类、BigDecimal类、BigInteger类、System类、Random类、Math类(Java基础知识十四)

    1.正则表达式的概述和简单使用 * A:正则表达式(一个字符串,是规则)     * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. * B: ...

  5. 处理时间的类 —— System类、Date类 、SimpleDateFormat类 与 Calendar类

    在我们以往的编程中,就有过通过运行前和运行后时间差来判断时间复杂度的例子,再扯得远一点,我们在C语言中制造随机数的操作,也要用到有关时间的函数.而且,在我们未来的编程中,也会时不时要用到能够读取当前时 ...

  6. 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类

    日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 ​ Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...

  7. Object类、Date类、Calendar类、System类、StringBuilder类和基本类型包装类

    一.Object类--toString方法 1.普通类重写toString方法,不然打印出来是存在栈内存的对象引用名称的堆内存中该对象的地址值: 2.equals方法: String比较equals是 ...

  8. C++实现日期类(Date类)

    #include<iostream>using namespace std;class Date{public:    Date(int year = 1900, int month = ...

  9. String类与Date类的转换

    public class DateTest { public static void main(String[] args) throws ParseException { Date date = n ...

随机推荐

  1. SQLServer存储过程 实例,很多语法可以以后参考

    SQL代码 alter PROCEDURE sp_addnewdtgtype ( ), @dtgdllcontent image, ) ) AS BEGIN ); declare @v_count i ...

  2. 安装OUD报错,unsupported classversion 51.0

    查找,错误代码,在一篇博客中看到:补充:后经实例证明,在eclipse中进行开发的时候,build path 中JDK进行类库的编译(就是你使用类在不在这个JDK中),java compiler co ...

  3. Git 版本管理器学习笔记

    难点:使用 git revert <commit_id> 操作实现以退为进, git revert 不同于 git reset 它不会擦除"回退"之后的 commit_ ...

  4. 怎么在overflow-y:sroll的情况下 隐藏滚动条

    当我们的内容超出了我们的div,往往会出现滚动条,影响美观. 尤其是当我们在做一些导航菜单的时候.滚动条一出现就破坏了UI效果.  我们不希望出现滚动条,也不希望超出去的内容被放逐,就要保留鼠标滚动的 ...

  5. IOS ASI 请求服务器 总结

    一.发送请求的2个对象 1.发送GET请求:ASIHttpRequest 2.发送POST请求:ASIFormDataRequest* 设置参数// 同一个key只对应1个参数值,适用于普通“单值参数 ...

  6. POJ-1836 Alignment---LIS

    题目链接: https://cn.vjudge.net/problem/POJ-1836 题目大意: 题意:令到原队列的最少士兵出列后,使得新队列任意一个士兵都能看到左边或者右边的无穷远处.就是使新队 ...

  7. 布局方式-float布局

    float的特性一 .元素‘浮动’ .脱离文档流 .但不脱离文本流 首先看一个案例,直观的了解下float的特性 <style> .container{ background: red; ...

  8. ACM-ICPC 2017 Asia HongKong 解题报告

    ACM-ICPC 2017 Asia HongKong 解题报告 任意门:https://nanti.jisuanke.com/?kw=ACM-ICPC%202017%20Asia%20HongKon ...

  9. intellij idea下载安装以及创建项目(输出Hello World)

    主题一:下载 第一:可以百度下载 第二:直接进行官网链接下载地址:http://www.jetbrains.com/idea/ 第一步: 第二步: 下载完成后进行安装 主题二:安装 点击Next速度可 ...

  10. 一个JS对话框,可以显示其它页面,

    还不能自适应大小 garyBox.js // JavaScript Document// gary 2014-3-27// 加了 px 在google浏览器没加这个发现设置width 和height没 ...