我的Web应用程序有一个反应前端和ruby后端。我发送给我的ruby后端一个新的javascript日期对象,然后在ruby中转换为这个无效的日期时间:
"2018-01-10T05:00:00.000Z"
无论如何将它转换为如下所示的日期时间?
"1/5/2018, 12:00:00 AM"
是的我确实希望它保持一个字符串。
答案 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