2

我正在使用用 .NET 编写的 Web 服务

所以它像这样返回日期/Date(1101240000000)/

如何在 ruby​​ 和 js 中解析这种日期格式?

4

2 回答 2

3

你需要告诉我们这个数字是什么意思。现在是Unix 时间吗?如果是:

红宝石:(
Time.at(1240915075) 时间.at

DateTime.strptime("1318996912",'%s')(日期时间.strptime )

JS:

var date = new Date(unix_timestamp*1000);
于 2012-08-02T15:54:36.230 回答
1

我在自己的代码库中遇到了这个问题,并对该日期格式做了一些研究。它基本上只是一个带有时区的 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 解决方案。

于 2015-05-13T05:08:31.340 回答