如何从日期对象中获取星期几?

时间:2012-01-04 10:59:16

标签: ruby

我在Rails中有一个日期对象,我想格式化。

我已经做到了这一点

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

我希望打印出来'星期三,04/01/2012'

是否有快速方法可以更改'%w'进入'星期三'?

6 个答案:

答案 0 :(得分:17)

查看Ruby docs for strftime

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

%A字符是全天名称。

答案 1 :(得分:13)

Date.today.strftime("%A")
=> "Wednesday"

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

答案 2 :(得分:5)

我知道OP想要工作日的字符串,但是如果由于某种原因你正在做更多的算法并且需要数字表示,你可以在Date对象上使用cwday

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

星期一是1

答案 3 :(得分:4)

%A为您提供星期几。

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

Wednesday, 04-01-2012

答案 4 :(得分:2)

尝试%A而不是%w

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

答案 5 :(得分:2)

是的,您可以使用“%A”作为全天名称。

另见http://pubs.opengroup.org/onlinepubs/007908799/xsh/strftime.html