`
wyf
  • 浏览: 436877 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

Json 的日期格式与.Net DateTime类型的转换

阅读更多

 static void Main(string[] args)
        { 
            string [] jsonDates = {"/Date(1242357713797+0800)/" , "/Date(1242357722890+0800)/"};
            foreach (string jsonDate in jsonDates)
            {
                Console.WriteLine("Json : {0}", jsonDate);
                DateTime  dtResult =   JsonToDateTime(jsonDate);
                Console.WriteLine("DateTime: {0}", dtResult.ToString("yyyy-MM-dd hh:mm:ss ffffff"));
            } 
            Console.Read();
        }

        public static DateTime JsonToDateTime(string jsonDate)
        {
            string value = jsonDate.Substring(6, jsonDate.Length - 8);
            DateTimeKind kind = DateTimeKind.Utc;
            int index = value.IndexOf('+', 1);
            if (index == -1)
                index = value.IndexOf('-', 1);
            if (index != -1)
            {
                kind = DateTimeKind.Local;
                value = value.Substring(0, index);
            }
            long javaScriptTicks = long.Parse(value, System.Globalization.NumberStyles.Integer, System.Globalization.CultureInfo.InvariantCulture);
            long InitialJavaScriptDateTicks = (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks;
            DateTime utcDateTime = new DateTime((javaScriptTicks * 10000) + InitialJavaScriptDateTicks, DateTimeKind.Utc);
            DateTime dateTime;
            switch (kind)
            {
                case DateTimeKind.Unspecified:
                    dateTime = DateTime.SpecifyKind(utcDateTime.ToLocalTime(), DateTimeKind.Unspecified);
                    break;
                case DateTimeKind.Local:
                    dateTime = utcDateTime.ToLocalTime();
                    break;
                default:
                    dateTime = utcDateTime;
                    break;
            }
            return dateTime ;
        }
 
 
分享到:
评论

相关推荐

    JSON.NET10.0.3最新版

    4. **日期和时间处理**:JSON.NET提供了对日期和时间的友好处理,可以将DateTime对象转换为ISO 8601格式或其他自定义格式。 5. **性能优化**:JSON.NET以其高性能著称,10.0.3版本可能会进一步提升解析速度和内存...

    Newtonsoft.Json.Lite for .Net2.0以上

    3. **类型映射**:库自动处理.NET类型与JSON类型的映射,如DateTime到ISO 8601日期时间格式的转换。 4. **自定义序列化**:允许开发者通过实现特定接口来自定义对象的序列化行为。 5. **性能优化**:作为轻量级库...

    C#Json插件 Newtonsoft.Json,json.net

    Newtonsoft.Json,通常被称为json.net,是C#编程中广泛使用的JSON序列化和反序列化库。这个库由James Newton-King 创建,它提供了一套全面且高性能的API,用于处理JSON数据,使得在.NET框架中操作JSON变得极其简单。...

    解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法

    总之,通过自定义`JsonResult`并利用Json.NET库的特性,我们可以轻松地控制DateTime类型的日期格式,从而解决Asp.NET MVC中返回JsonResult时日期格式不友好的问题。这种方法既保持了服务器与客户端的解耦,又提高了...

    C# Json格式的转换

    此外,Json.NET还支持自定义序列化行为,例如忽略特定属性、自定义日期格式等,这为开发者提供了高度的灵活性。例如,你可以使用 `[JsonIgnore]` 特性忽略某个属性,或使用 `[JsonConverter]` 指定自定义的转换器。 ...

    Android使用Json与Asp.Net交互(上传/下载数据集)

    Asp.Net服务器端借用Newtonsoft.Json.dll进行直接把对象转换成成Json格式的字符串,或把Json字符串转换成类对象。该dll原本针对JavaScript进行的转换,对其中部分类作出了修改,并重新命名为AndroidConvert类。 注...

    ASPNET中JSON的序列化和反序列化的方法

    在***中处理JSON的序列化和反序列化是Web开发中常见的...对于日期时间类型的处理,需要特别注意JSON与.NET类型之间的转换,确保数据能够准确无误地传输。掌握这些技术点对于开发一个高效且功能完善的Web应用至关重要。

    Asp.net中的日期转化为字符串汇总

    6. **ASP.NET MVC Razor 视图中的日期格式化** 在Razor视图中,可以直接使用HTML辅助方法来格式化日期,例如 `@Html.DisplayFor(modelItem => item.Date, "dd/MM/yyyy")`。 7. **JSON序列化日期** 当处理JSON数据...

    C#字符串和JSON数据类型相互转换

    在C#中,我们主要依靠`System.Text.Json`或`Newtonsoft.Json`库(也称为Json.NET)来实现字符串与JSON对象之间的转换。本篇文章将详细探讨如何使用这两种方法进行转换。 首先,让我们关注`System.Text.Json`,这是...

    JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法

    本文实例讲述了JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法。分享给大家供大家参考,具体如下: 直接上例子,如下所示: onload = function () { var thisDateText = '/Date(1401076829)/'; ...

    解决ASP.NET MVC返回的JsonResult 中 日期类型数据格式问题,和返回的属性名称转为“驼峰命名法”

    在使用ASP.NET MVC 在写项目的时候发现,返回给前端的JSON数据,日期类型是 Date(121454578784541) 的格式,需要前端来转换一下才能用来使用。 C#对象属性名称转换成JSON自动转成“驼峰命名法” 问题 在C#中推荐的...

    Unity3D中任意类型数据转换成json数据的方法2

    在Unity3D开发中,JSON(JavaScript Object Notation)是...这种方法虽然简单有效,但在处理复杂数据结构时可能不够高效,对于大规模的数据操作,推荐使用第三方库如Json.NET,它提供了更全面和高性能的JSON处理功能。

    C#任意类型转换成json

    以下将详细介绍如何使用C#和Json.NET将任意类型转换为JSON。 首先,确保已经安装了Json.NET库。如果还没有安装,可以通过NuGet包管理器添加,命令如下: ``` Install-Package Newtonsoft.Json ``` 安装完成后,你...

    Newtonsoft.Json

    2. **预定义的类型转换器**:Json.NET内建了大量针对.NET框架类型如DateTime、Guid等的转换器,确保高效转换。 四、其他功能 1. **JSON Schema验证**:Json.NET提供了JsonSchema和JsonSchemaGenerator,可以对JSON...

    Java 和 Javascript 的 Date 与 .Net 的 DateTime 之间的相互转换

    在.NET中,我们可以创建一个DateTime扩展类,添加两个方法:ToJsTime和FromJsTime,以实现DateTime到JavaScript日期格式的转换。以下是一个示例代码: ```csharp using System; using System.Globalization; ...

    解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法.docx

    总的来说,解决ASP.NET MVC返回JsonResult中DateTime类型数据格式问题的关键在于创建自定义的JsonResult,覆盖默认的序列化行为,然后根据需求调整日期时间的格式。通过这种方式,你可以确保日期时间按照预期的方式...

    .NET日期控件代码

    本篇文章将深入探讨.NET日期控件的使用,包括日期格式化、事件处理以及与数据库交互等方面的知识点。 1. **DateTime结构** .NET框架中的DateTime结构表示日期和时间,具有多种属性,如Year、Month、Day等,可以...

    .net 生成和解析 JSON

    在.NET中,同样可以使用JavaScriptSerializer类来解析JSON字符串,将其转换为.NET对象。以下是一个例子,演示如何解析包含特定键值的JSON字符串: ```csharp // 假设有如下的JSON字符串 string jsonString = "{\...

    解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法.pdf

    总结来说,通过自定义`JsonResult`和`JavaScriptConverter`,我们可以有效地解决ASP.NET MVC返回的JSON数据中DateTime类型字段格式不理想的问题。这种方式不仅保持了后端和前端数据交互的一致性,还避免了前端处理...

Global site tag (gtag.js) - Google Analytics