将ruby中的无效日期时间转换为有效的日期时间

时间:2018-01-25 16:43:14

标签: javascript ruby-on-rails ruby datetime

我的Web应用程序有一个反应前端和ruby后端。我发送给我的ruby后端一个新的javascript日期对象,然后在ruby中转换为这个无效的日期时间:

"2018-01-10T05:00:00.000Z"

无论如何将它转换为如下所示的日期时间?

"1/5/2018, 12:00:00 AM"

是的我确实希望它保持一个字符串。

2 个答案:

答案 0 :(得分:0)

尝试以下

var date = new Date( "2018-01-10T05:00:00.000Z") //Wed Jan 10 2018 10:30:00 GMT+0530 (India Standard Time)
a.toLocaleString() // output : "1/10/2018, 10:30:00 AM"

答案 1 :(得分:0)

我认为您正在寻找的是:ActiveRecord's serialize method

如果你的React代码正在发送Rails的时间格式为" 1/5/201,上午12:00:00和#34;并且它被自动识别错误,您可以强制Rails识别自定义格式,如下所示:

DateTime.strptime(' 1/5/201,上午12:00:00','%m /%d /%Y,%H:%M:%S%p& #39)

一旦你完成它,Rails应该能够识别每个字段。如果您尝试以更加反应友好的方式阅读它,strftime(如下所示)将有助于此。

您还应该查看strftime文档,了解可以与strptime一起使用的所有格式选项:https://apidock.com/ruby/DateTime/strptime/class

相关问题