`
cinic2003
  • 浏览: 37111 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

格式化时间

阅读更多

例如有个时间t = Time.now,格式化有:
t.to_s(:long)
t.to_s(:short)
t.to_s(:db)
还可以调用strftime方法加以参数:
参看其参数,运行:ri Time.strftime
Format meaning:
       %a - The abbreviated weekday name (``Sun'')
       %A - The  full  weekday  name (``Sunday'')
       %b - The abbreviated month name (``Jan'')
       %B - The  full  month  name (``January'')
       %c - The preferred local date and time representation
       %d - Day of the month (01..31)
       %H - Hour of the day, 24-hour clock (00..23)
       %I - Hour of the day, 12-hour clock (01..12)
       %j - Day of the year (001..366)
       %m - Month of the year (01..12)
       %M - Minute of the hour (00..59)
       %p - Meridian indicator (``AM''  or  ``PM'')
       %S - Second of the minute (00..60)
       %U - Week  number  of the current year,
               starting with the first Sunday as the first
               day of the first week (00..53)
       %W - Week  number  of the current year,
               starting with the first Monday as the first
               day of the first week (00..53)
       %w - Day of the week (Sunday is 0, 0..6)
       %x - Preferred representation for the date alone, no time
       %X - Preferred representation for the time alone, no date
       %y - Year without a century (00..99)
       %Y - Year with century
       %Z - Time zone name
       %% - Literal ``%'' character
    
        t = Time.now
        t.strftime("Printed on %m/%d/%Y")   #=> "Printed on 04/09/2003"
        t.strftime("at %I:%M%p")            #=> "at 08:56AM"

这样可以自定义时间格式。

这个可以显示所调用的时间点距离现在的时间差:
def relative_time
    diff_seconds = (Time.now - self).to_i
    case diff_seconds
      when 0 .. 59
        "#{diff_seconds}秒钟前"
      when 60..(3600-1)
        "#{diff_seconds/60}分钟前"
      when 3600..(3600*24-1)
        "#{diff_seconds/3600}小时前"
      when (3600*24)..(3600*24*30)
        "#{diff_seconds/(3600*24)}天前"
      else
        self.strftime("%Y-%m-%d")
    end
  end

这是网上的一段代码:

module PrettyDate
def to_pretty
a = (Time.now-self).to_i

case a
  when 0 then return 'just now'
  when 1 then return 'a second ago'
  when 2..59 then return a.to_s+' seconds ago' 
  when 60..119 then return 'a minute ago' #120 = 2 minutes
  when 120..3540 then return (a/60).to_i.to_s+' minutes ago'
  when 3541..7100 then return 'an hour ago' # 3600 = 1 hour
  when 7101..82800 then return ((a+99)/3600).to_i.to_s+' hours ago' 
  when 82801..172000 then return 'a day ago' # 86400 = 1 day
  when 172001..518400 then return ((a+800)/(60*60*24)).to_i.to_s+' days ago'
  when 518400..1036800 then return 'a week ago'
end
return ((a+180000)/(60*60*24*7)).to_i.to_s+' weeks ago'
end
end

Time.send :include, PrettyDate
分享到:
评论

相关推荐

    易语言格式化时间和日期

    "易语言格式化时间和日期" 涉及的知识点主要包括以下几个方面: 1. **易语言基础**:易语言是一种以中文作为编程语言的编程环境,旨在降低编程的门槛,使计算机用户能更直观地理解代码。它具有简洁明了的语句结构,...

    js日期时间格式化日期时间格式化

    js日期时间格式化js日期时间格式化js日期时间格式化js日期时间格式化js日期时间格式化js日期时间格式化js日期时间格式化js日期时间格式化

    易语言格式化时间

    本文将详细讲解易语言中的“格式化时间”功能,包括如何取格式化日期和时间,以及获取系统时间的方法。 首先,我们要理解什么是“格式化时间”。在编程中,格式化时间通常是指将计算机内部存储的时间数据转换为人类...

    java格式化日期类

    在Java编程语言中,日期和时间的处理是一个常见的任务,特别是在开发过程中需要显示或存储日期时。...在提供的"格式化时间.txt"文件中,可能包含了更多关于日期格式化实例或示例代码,你可以查阅以获取更多信息。

    易语言取格式化时间模块

    在易语言中,处理日期和时间是非常常见的操作,而“取格式化时间模块”则提供了方便的接口来实现这一功能。本文将详细讲解易语言中的日期和时间处理,以及如何利用取格式化时间模块来获取和格式化日期时间。 在...

    易语言时间0格式化源码.zip

    通常,这会涉及到“取系统时间”函数来获取当前系统的时间,然后通过“格式化日期”或“格式化时间”函数,结合字符串模板,将时间数据转换成易于阅读的格式。 在易语言中,时间格式化可能包括以下几个方面: 1. *...

    bootstap-talbe日期格式化

    在实际应用中,我们常常需要展示包含日期的数据,这就涉及到日期的格式化问题。本文将详细探讨如何在 Bootstrap Table 中对日期进行格式化,同时考虑到后端数据来源是 MySQL 数据库,并且使用 Spring MyBatis 作为...

    JSTL格式化日期(一个jstl写的格式化日期,有用的着的看看吧)

    在JSTL中,我们可以使用`fmt`标签库来格式化日期和时间,这在显示和处理日期数据时非常有用。 `fmt`标签库是JSTL的一个重要组成部分,它基于Java的`java.text.SimpleDateFormat`类,可以对日期进行各种格式化操作。...

    易语言格式化时间和日期源码

    此外,“易语言资源论坛”是一个学习和交流易语言编程的平台,这里有许多易语言开发者分享的源码和经验,包括本例中的“易语言格式化时间和日期源码”。在论坛中,你可以找到更多的实例代码和讨论,进一步提升你的...

    格式化时间、视图

    本文将深入探讨标题和描述中提到的“格式化时间”和“视图”相关的知识点,并结合标签“格式获取时间”和“格式获取Xib”进行详细解释。 ### 格式化时间 在iOS中,处理时间通常涉及到`NSDate`、`NSCalendar`、`...

    Js获取当前日期时间及格式化代码

    标题中的知识点:Js获取当前日期时间及格式化代码。 描述中的知识点:介绍了如何使用JavaScript(Js)获取当前的日期和时间,并提供了一个格式化日期时间的代码示例。 标签中的知识点:涉及到Js在获取日期时间方面...

    Api格式化时间.rar

    API格式化时间通常指的是通过API接口来处理和转换时间数据,使其符合特定的格式要求。例如,日期和时间可能需要以ISO 8601标准、Unix时间戳或者其他自定义格式进行展示。 易语言是一种中文编程语言,它提供了丰富的...

    使用vbs格式化日期

    使用vbs格式化日期

    jquery格式化日期

    jquery格式化日期。格式化时间工具类使用简单只要将该文件引入即可使用他是基于jquery的插件

    struts2标签格式化时间

    本文将详细介绍如何利用Struts2中的`<s:datename>`标签来格式化时间,并提供实际应用场景的例子。 ### Struts2框架简介 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点,并在此基础上进行了...

    .net格式化日期大全

    为了方便开发人员更好地理解和运用日期时间格式化功能,本篇文章将详细解读“[.NET格式化日期大全]”中涉及的各种日期时间格式化方法与应用场景。通过实际代码示例来深入剖析每一种格式化的使用方式及其特点。 ####...

    易语言格式化日期框

    在实际开发中,除了基本的日期格式化,我们还可能需要处理一些进阶需求,例如日期范围验证、自定义日期格式的解析和格式化、以及非标准日期格式的支持等。这就需要对易语言的控件属性、事件处理机制以及Windows API...

    VC 获取当前的日期、时间并格式化输出.rar

    VC 获取当前的日期、时间并格式化输出m  m_time=CTime::GetCurrentTime();...//格式化时间  m_strDateTime=m_time.Format("%Y-%m-%d %H:%M:%S 第%W周-%A");//格式化日期时间  UpdateData(false);

    格式化时间工具类

    在Java编程中,格式化时间是一项常见的任务,用于将日期和时间转换为人类可读的字符串格式。"格式化时间工具类"通常是指一个自定义的类,它封装了Java的日期时间处理方法,以便更方便地进行日期格式化、解析和比较。...

Global site tag (gtag.js) - Google Analytics