Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
servicestack typescript客户端的d.ts中的日期支持_Typescript_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack - Fatal编程技术网 servicestack,Typescript,servicestack" /> servicestack,Typescript,servicestack" />

servicestack typescript客户端的d.ts中的日期支持

servicestack typescript客户端的d.ts中的日期支持,typescript,servicestack,Typescript,servicestack,默认情况下,webstorm插件生成的servicestack类型脚本文件dtos.ts将所有日期属性设置为字符串 // @Required() to: string; 在servicestack.cs文件中,此属性是DateTime。 任何关于它为什么是这样以及我需要做什么的想法,例如,它将其转换为asp.net web api的日期。与其他语言不同,TypeScript中没有“反序列化步骤”,即TypeScript DTO只定义在中返回的类型,而JSON中没有日期类型,日期值以字符串形式返

默认情况下,webstorm插件生成的servicestack类型脚本文件dtos.ts将所有日期属性设置为字符串

// @Required()
to: string;
在servicestack.cs文件中,此属性是DateTime。
任何关于它为什么是这样以及我需要做什么的想法,例如,它将其转换为asp.net web api的日期。与其他语言不同,TypeScript中没有“反序列化步骤”,即TypeScript DTO只定义在中返回的类型,而JSON中没有
日期
类型,日期值以字符串形式返回,该字符串是使用JavaScript内置的
JSON.parse()
eval()
将其转换为JS对象时的类型

ServiceStack中返回的默认WCF日期。文本可以通过以下方式转换:

function todate (s) { 
    return new Date(parseFloat(/Date\(([^)]+)\)/.exec(s)[1])); 
};
如果您使用的是npm软件包,则可以通过以下方式解决此问题:

import { todate } from "servicestack-client";
var date = todate(wcfDateString);
或者,如果使用ServiceStack中内置的:

var date = $.ss.todate(wcfDateString);
如果将ServiceStack.Text默认日期序列化更改为使用ISO8601日期格式:

JsConfig.DateHandler = DateHandler.ISO8601;
它可以通过以下方式进行本机解析:

new Date(dateString)
new Date(unixTimeMs)
同样,当配置为返回时:

JsConfig.DateHandler = DateHandler.UnixTimeMs;
它也可以通过以下方式进行本机转换:

new Date(dateString)
new Date(unixTimeMs)