ruby Time类与Date类
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 +0800Date
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类的更多相关文章
- Math类、Random类、System类、BigInteger类、BigDecimal类、Date类、SimpleDateFormat、Calendar类
Math类* A:Math类概述 * Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. * B:成员方法 * public static int abs(int a) ...
- Ruby Time类和Date类
Time类 更新: 2017/06/23 更新了Data/Time在model模式下的便利方法 更新: 2018/10/12 修改了%Y相关描述防止误解 年月日时分秒,时区 生成 获取当前时 ...
- 14-03 java BigInteger类,BigDecimal类,Date类,DateFormat类,Calendar类
BigInteger类 发 package cn.itcast_01; import java.math.BigInteger; /* * BigInteger:可以让超过Integer范围内的数据进 ...
- 正则表达式、Calendar类、SimpleDateFormat类、Date类、BigDecimal类、BigInteger类、System类、Random类、Math类(Java基础知识十四)
1.正则表达式的概述和简单使用 * A:正则表达式(一个字符串,是规则) * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. * B: ...
- 处理时间的类 —— System类、Date类 、SimpleDateFormat类 与 Calendar类
在我们以往的编程中,就有过通过运行前和运行后时间差来判断时间复杂度的例子,再扯得远一点,我们在C语言中制造随机数的操作,也要用到有关时间的函数.而且,在我们未来的编程中,也会时不时要用到能够读取当前时 ...
- 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类
日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...
- Object类、Date类、Calendar类、System类、StringBuilder类和基本类型包装类
一.Object类--toString方法 1.普通类重写toString方法,不然打印出来是存在栈内存的对象引用名称的堆内存中该对象的地址值: 2.equals方法: String比较equals是 ...
- C++实现日期类(Date类)
#include<iostream>using namespace std;class Date{public: Date(int year = 1900, int month = ...
- String类与Date类的转换
public class DateTest { public static void main(String[] args) throws ParseException { Date date = n ...
随机推荐
- SSM整合的简单实现
整合需要的jar包和源码将在文末给出 本文参考黑马程序员视频,由于视频用的环境和我使用的环境不同,建议使用我的环境及jar包(比较新) 一 整合思路 第一步 整合dao层 mybatis和spring ...
- 框架页面jquery装载
- 我的HTML总结之表单
表单是Web中实现交互的重要方法,用于收集用户信息并提交给服务器. 表单中的9大控件 <input type="text" name="key" va ...
- 找出OData service出错根源的小技巧
SAP的Fiori应用是通过OData和后台交互的.在使用Fiori应用时您可能会遇到这样的错误消息: 这个错误消息没有包含有助于partner或者客户定位问题根源的线索. 下面是如何在后台找出问题根 ...
- 转载:em(倍)与px的区别
转载出处:http://www.cnblogs.com/showker/archive/2010/05/24/1742821.html 在国内网站中,包括三大门户,以及“引领”中国网站设计潮流的蓝色理 ...
- 模线性方程&&中国剩余定理及拓展
一.求解模线性方程 由ax=b(mod n) 可知ax = ny + b 就相当于ax + ny = b 由扩展欧几里得算法可知有解条件为gcd(a, n)整除d 可以直接套用扩展欧几里得算法 最终由 ...
- 在Hibernate单向一对多关联关系中的org.hibernate.StaleStateException 异常。
具体异常如下: Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count fro ...
- 【牛客挑战赛30D】小A的昆特牌(组合问题抽象到二维平面)
点此看题面 大致题意: 有\(S\)张无编号的牌,可以将任意张牌锻造成\(n\)种步兵或\(m\)种弩兵中的一种,求最后步兵数量大于等于\(l\)小于等于\(r\)的方案数. 暴力式子 首先我们来考虑 ...
- 【luogu P3901 数列找不同】 题解
对于区间查询的问题,提供一种思路: 莫队. 莫队是处理区间问题的乱搞神器,尤其是对于离线查询问题,当然也可以做在线查询,比如带修莫队. 对于有的题,莫队是乱搞骗分,而在某些地方,莫队是正解. 这道题来 ...
- Android学习笔记_75_Andorid控件样式汇总
<!-- 设置activity为透明 --> <style name="translucent"> <item name="android: ...