我正在使用用 .NET 编写的 Web 服务
所以它像这样返回日期/Date(1101240000000)/
如何在 ruby 和 js 中解析这种日期格式?
我正在使用用 .NET 编写的 Web 服务
所以它像这样返回日期/Date(1101240000000)/
如何在 ruby 和 js 中解析这种日期格式?
你需要告诉我们这个数字是什么意思。现在是Unix 时间吗?如果是:
红宝石:(
Time.at(1240915075)
时间.at)
DateTime.strptime("1318996912",'%s')
(日期时间.strptime )
JS:
var date = new Date(unix_timestamp*1000);
我在自己的代码库中遇到了这个问题,并对该日期格式做了一些研究。它基本上只是一个带有时区的 UNIX 日期,但日期以自纪元以来的毫秒数而不是通常的秒数表示。
我在 Ruby 中的解决方案是使用正则表达式从该日期字符串中提取日期和时区,将日期的数字表示除以 1000,然后只使用 strptime:
def date_from_asp_net(asp_net_date)
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
_, date, timezone = *date_pattern.match(asp_net_date)
date = (date.to_i / 1000).to_s
DateTime.strptime(date + timezone, '%s%z')
end
您可能可以从中派生出一个 JavaScript 解决方案。