相关文章推荐
谈吐大方的筷子  ·  self.lstm = ...·  3 月前    · 
深情的单杠  ·  用VB“写”Python程序 - ...·  1 年前    · 
格式化应用实例:

puts Time.now.strftime(“%Y-%m-%d %H:%M:%S”) #2018-05-13 15:28:08

puts Time.now.strftime(“%x %I:%M %p”) #05/13/18 03:39 PM


###### 所有strftime方法中可用的格式化符号:

%a 星期的缩写,如Wed
%A 星期的全称,如Wednesday
%U 本星期在全年中所属的周数
%W
%H 小时(24小时制)
%M 分钟
%S 秒
%I 小时(12小时制)
%p PM 或 AM
%b 月份的缩写,如 Jan
%B 月份的全称,如 January
%c 本地日期和时间,如 05/13/18 16:43:49
%d 日期 (1…31)
%j 本日在一年中所属的天 (1…366)
%m 月份 (1…12)
%w 星期的数字形式 (0…6)
%x 本地日期,如 06/14/07
%X 本地时间,如 16:43:49
%y 2位的年份表示,如07
%Y 4位的年份表示,如2007
%Z 时区名,如”中国标准时间”
%% 字面符号%

我们可以使用Time类来生成一个当前时间的对象:

t = Time.new

t = Time.now

Time类有类方法mktime(同义方法是local方法)来根据传入的参数生成时间对象,并且它使用的是当前的时区:

t1 = Time.mktime(2018) # January 1, 2018 at 0:00:00
t2 = Time.mktime(2018,5)
t3 = Time.mktime(2018,5,13)
t4 = Time.mktime(2018,5,13,21)
t5 = Time.mktime(2018,5,13,21,30)
t6 = Time.mktime(2018,5,13,21,30,15) # March 15, 2018 9:30:15 pm

Time.gm (同义方法是Time.utc)方法基本上和上面的mktime用法相同,但它使用的是GMT或UTC时区
t8 = Time.gm (2018,5,13,21,30,15)
t9 = Time.utc(2018,5,13,21,30,15)

生成的时间对象有一个to_a方法,可以把时间相关一信息转化成一个数组,数组中存放的信息格式如下:
seconds, minutes, hours, day, month, year, day of week (0…6), day of year (1…366), daylight saving (true or false), and time zone (as a string)

使用秒数来创建日期:

在内部,日期存储为一个整数,代表从1970年开始到当前的秒数,我们可以获取这么秒数或则利用这个秒数来创建日期:
epoch =
Time.at (0) # Find the epoch (1 Jan 1970 GMT)
newmil = Time.at (978307200) # Happy New Millennium! (1 Jan 2001)

now = Time.now # 16 Nov 2000 17:24:28
sec = now.to_i # 974424268

日期的格式化:

获取本日是星期几:

now = Time.now + 1
day_num = now.wday #3
day_abbr = now.strftime(“%a”) #Wed
day_full = now.strftime(“%A”) #Wednesday

获取一年中本日所在的周:

t1 = Time.local(2002,5,1)
1 = Date.new(2002,5,1)

week1a = t1.strftime(“%U”).to_i # 17
week1b = t1.strftime(“%W”).to_i # 17
week1c = d1.cweek # 18

获取当前时区:

z1 = Time.gm (2000,11,10,22,5,0).zone # “UTC”
z2 = Time.local(2000,11,10,22,5,0).zone # “中国标准时间”

格式化应用实例:puts Time.now.strftime(“%Y-%m-%d %H:%M:%S”) #2018-05-13 15:28:08puts Time.now.strftime(“%x %I:%M %p”) #05/13/18 03:39 PM所有strftime方法中可用的格式化符号:%a 星期的缩写,如Wed%A 星期的全称,如Wednesday%U 本星期在全年中所... Windows 注册表 - 阿拉斯加标准时间 这个 gem 只使用内置工具。 Gem 在 MRI 1.9.2、1.9.3、2.0、2.1 和 j ruby 1.9 模式下进行了全面测试 将此行添加到应用程序的 Gemfile 中: gem 'TZ-formater' 然后执行: $ bundle 或者自己安装: $ gem install TZ-formater
日志里一般都会有时间,格式如“2020-09-04 10:08:08”,怎么转成毫秒呢,格式如“1598609188959”?   假如我们的日志里仅有一个时间字段,因为我们这里转换前是没有毫秒的,所以可以直接转成秒后补3个0。直接看配置: input{ beats { port => "5044" filter{ mutate { 1279641600 [lmode@fjcsmcbn ~]$ awk 'BEGIN{tstamp=mktime("2010 07 21 00 00 00");print tstamp}' 127...
go 中使用 json.Unmarshal 转换结构体时,若结构体中有时间类型作为解析字段时,使用的是国际标准 RFC3339 (2006-01-02T15:04:05Z07:00) 格式来作为默认格式进行解析的。 现前后端交互时间,有三种方式 前端自行做 RFC3339 的时间 格式转换 后端自定义 MarshalJSON 和 UnmarshalJSON 方法 前后端统一用时间戳进行交互(推荐这种方式) 1. 前端的时间转换 RFC3339 标准格式 日期 转为 RFC3339 var toRFC3
本文是对2009年的[url=http://hlee.iteye.com/blog/386035]Time Date时间转换和格式化输出[/url]的一个小更新 当时说到一个格式化输出 [code=" ruby "] DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d %H:%M:%S').to_s [/code] 现在,用到一个格式...
Timestamp转化为String: SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);//定义格式,不显示毫秒 Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间 String str = df.format(now); Str...
怎样使用 ruby 将字符串转化成时间变量呢?非常简单,只需要用到Time.mktime函数即可。 比如一串字符串,2012,12,12,13,38,45 我们将这些字符串转化成2012年12月12日13时38分45秒,只需要这么做: Time.mktime(2012,12,12,13,38,45) => Wed Dec 12 13:38:45 +0800 2012 时区为当地时区,