parsing .net DateTime in Ruby & JavaScript

parsing .net DateTime in Ruby & JavaScript

本文关键字:amp JavaScript Ruby net DateTime in parsing      更新时间:2023-09-26

我使用的是用.NET 编写的web服务

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

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

您需要告诉我们这个数字的含义。现在是Unix时间吗?如果是:

Ruby:
Time.at(1240915075)(Time.at)

DateTime.strptime("1318996912",'%s')(DateTime.strptime)

JS:

var date = new Date(unix_timestamp*1000);

我在自己的代码库中遇到了这个问题,并对日期格式进行了一些挖掘。它基本上只是一个带有时区的UNIX日期,但自epoch以来,日期以毫秒表示,而不是通常的秒。

我在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解决方案。