【问题标题】:datetime format from json to C#从 json 到 C# 的日期时间格式
【发布时间】:2019-08-17 10:39:37
【问题描述】:

我正在尝试解析从条带支付网关发送的 json 数据,并且 json 数据将日期时间编码为数字。我试图将其解析为正确的 .NET DateTime,但没有成功。

你能告诉我怎么做吗?

复制了下面的json。

【问题讨论】:

    标签: javascript c# json stripe-payments


    【解决方案1】:

    在 C# 中 DateTimeOffsetFromUnixTimeSeconds

    // converts to UTC DateTimeOffset
    var dtOffset = DateTimeOffset.FromUnixTimeSeconds(1530291339); 
    
    // if you need a DateTime you can
    var dt = dtOffset.UtcDateTime;
    
    // dtOffset.ToString() for example above:
    // 6/29/2018 4:55:39 PM 
    

    DateTimeOffset 也有FromUnixTimeMilliseconds 方法。请参阅DateTimeOffset 了解更多信息。

    FromUnixTimeSecondsFromUnixTimeMilliseconds 方法将 UNIX 时间戳(从 1070 年 1 月 1 日开始)日期转换为 UTC DateTimeOffset。

    返回的 DateTimeOffset 实例的 Offset 属性值为 TimeSpan.Zero,表示协调世界时。

    可以通过调用TimeZoneInfo.ConvertTime()方法转换为特定时区的时间。

    【讨论】:

      【解决方案2】:

      这只是时间戳。只需通过 new Date(<timestamp>) 解析日期即可

      const date = new Date().getTime();
      console.log(date); // <-- your number
      
      console.log(new Date(date)); // <-- convert the timestamp to a date

      https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime

      https://stripe.com/docs/api/skus/object?lang=dotnet#sku_object-created

      【讨论】:

      • 嗨,但我希望它在 C# 中转换为 DateTime 类型
      • 您必须手动进行转换。看起来条纹不会以任何其他格式提供。我认为@haldo 的答案正是您想要的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 2017-06-29
      • 1970-01-01
      相关资源
      最近更新 更多