2017-05-30 16 views
1

デフォルトでは、webstormプラグインによって生成されたservicestack typescriptファイルdtos.tsは、すべての日付プロパティをstringにします。servicestack typescriptクライアントのd.tsでの日付サポート

// @Required() 
to: string; 

サービスマン.csファイルこのプロパティはDateTimeです。 なぜそれがそうで何をする必要があるので、それをasp.net web apiとして日付に変換する

答えて

3

他の言語とは異なり、TypeScript、すなわちTypeScript DTOには「デシリアライゼーションステップ」はありませんraw JSONに返されるタイプを定義します。DateタイプがJSONにない場合、Date値は、JavaScriptの組み込みのJSON.parse()またはeval()を使用してJSオブジェクトに変換されるときのタイプの文字列として返されます。

ServiceStack.Textに返されるデフォルトのWCF日がで変換することができます。

import { todate } from "servicestack-client"; 
var date = todate(wcfDateString); 

場合や:あなたはservicestack-client NPMパッケージを使用している場合

function todate (s) { 
    return new Date(parseFloat(/Date\(([^)]+)\)/.exec(s)[1])); 
}; 

をして解決することができますServiceStackに組み込まれているss-utils.jsを使用して:

var date = $.ss.todate(wcfDateString); 

あなたはISO8601日付形式を使用するかに日付のServiceStack.Textのデフォルトの直列化を変更する場合:戻すように構成されたとき

同様に
new Date(dateString) 

JsConfig.DateHandler = DateHandler.UnixTimeMs; 

JsConfig.DateHandler = DateHandler.ISO8601; 

それはでネイティブに解析することができます

ネイティブに変換することもできます。

new Date(unixTimeMs) 
関連する問題