Giter Site home page Giter Site logo

Comments (2)

nnhy avatar nnhy commented on July 28, 2024

日期解析在下面这个文件的ToDateTime方法。
https://github.com/NewLifeX/X/blob/dev/NewLife.Core/Common/Utility.cs

你给提交一个PR,在XUnitTest.Core.UtilityTests加个单元测试用例

from newlife.redis.

nnhy avatar nnhy commented on July 28, 2024

某个版本已修正!
单元测试代码如下:

[Fact]
public void DateTimeTest()
{
var str = "2020-03-09T21:16:17.88";
var dt = str.ToDateTime();
Assert.Equal(new DateTime(2020, 3, 9, 21, 16, 17, 880), dt);
}

[Fact]
public void DateTimeOffsetTest()
{
var str = "2020-03-09T21:16:25.905+08:00";
var dt = str.ToDateTime();
Assert.Equal(new DateTime(2020, 3, 9, 21, 16, 25, 905, DateTimeKind.Local), dt);

str = "2020-03-09T21:16:25.9052764+08:00";
var df = str.ToDateTimeOffset();
Assert.Equal(new DateTimeOffset(2020, 3, 9, 21, 16, 25, 905, TimeSpan.FromHours(8)).AddTicks(2764), df);

}

    [Fact]
    public void DateTimeTest()
    {
        var str = @"[
{
    ""ID"": 0,
    ""Userid"": 27,
    ""ClickTime"": ""2020-03-09T21:16:17.88"",
    ""AdID"": 39,
    ""AdAmount"": 0.43,
    ""isGive"": false,
    ""AdLinkUrl"": ""http://www.baidu.com"",
    ""AdImgUrl"": ""/uploader/swiperPic/405621836.jpg""
},
{
    ""ID"": 0,
    ""Userid"": 27,
    ""ClickTime"": ""2020-03-09T21:16:25.9052764+08:00"",
    ""AdID"": 40,
    ""AdAmount"": 0.41,
    ""isGive"": false,
    ""AdLinkUrl"": ""http://www.baidu.com"",
    ""AdImgUrl"": ""/uploader/swiperPic/1978468752.jpg""
}

]";

        var models = str.ToJsonEntity<Model[]>();
        Assert.Equal(2, models.Length);

        var m = models[0];
        Assert.Equal(27, m.UserId);
        Assert.Equal(new DateTime(2020, 3, 9, 21, 16, 17, 880), m.ClickTime);
        Assert.Equal(39, m.AdId);
        Assert.Equal(0.43, m.AdAmount);
        Assert.False(m.IsGive);
        Assert.Equal("http://www.baidu.com", m.AdLinkUrl);
        Assert.Equal("/uploader/swiperPic/405621836.jpg", m.AdImgUrl);
    }

    class Model
    {
        public Int32 ID { get; set; }
        public Int32 UserId { get; set; }
        public DateTime ClickTime { get; set; }
        public Int32 AdId { get; set; }
        public Double AdAmount { get; set; }
        public Boolean IsGive { get; set; }
        public String AdLinkUrl { get; set; }
        public String AdImgUrl { get; set; }
    }

from newlife.redis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.