2012-01-04 96 views
12

我在Rails中有一个我想格式化的日期对象。如何从日期对象中获取星期几?

我做了这么远

delivery_time.date.strftime("%w, %d/%m/%Y") 

我想它打印出“周三,04/01/2012”

是否有一个快速的方法来改变“%(重量) '进入'星期三'?

回答

15

望着Ruby docs for strftime

Time.now.strftime("%A, %d/%m/%Y") 
=> "Wednesday, 04/01/2012" 

%A字符是整天名。

+0

Ť hanks也链接到文档。我应该记得在我去随机的谷歌搜索之前检查一下。 – Finnnn 2012-01-04 11:32:06

2

尝试%A而不是%w

delivery_time.date.strftime("%A, %d/%m/%Y") 
4

%A给你一周中的一天。

strftime("%A, %d-%m-%Y")会给你:

Wednesday, 04-01-2012 
9
Date.today.strftime("%A") 
=> "Wednesday" 

Date.today.strftime("%A").downcase 
=> "wednesday" 
2

我知道OP想为平日的字符串,但如果出于某种原因,你正在做的事情更多的算法,需要一个数值表示,你可以使用cwday Date对象上

d = Date.new(2017,7,26) 
d.cwday 
#=> 3 

星期一被1

+0

对于'时间'对象,它将是'wday'。例如'Time.now.wday' – 2017-10-18 06:43:45

+0

对于'日期'和'时间','wday'返回范围为0..6的星期几,其中0 =星期日。对于'Date','cwday'返回星期几,范围为1..7,其中1 =星期一。 – ehymel 2017-11-02 17:51:43