Получение даты из cookie в ASP.NET - PullRequest
2 голосов
/ 26 ноября 2010

С asp.net я посмотрел на значение cookie и увидел

FireFox, Chrome:

"Thu Nov 25 2010 16:42:26 GMT-0500 (Eastern Standard Time)"

IE8:

"Thu Nov 25 16:48:01 EST 2010"

Я установил его в JSвот так.

$.cookie('pluginLastDate', new Date);

DateTime.Parse выдает исключение с обоими этими стилями даты.Как я могу получить дату, совместимую с asp.net?

Ответы [ 2 ]

1 голос
/ 26 ноября 2010

Одним из возможных решений является использование метода toDateString() в объекте Date, который вы создаете в Javascript, чтобы получить строку даты, которую можно проанализировать в C #.

$.cookie('pluginLastDate', new Date().toDateString());

Это сделает дату Javascript Thu Nov 25 2010.Но, если вам нужен больший контроль над выводом точной даты, вы всегда можете создать строку даты в Javascript вручную, используя множество методов, предоставляемых объектом Date.Следующая ссылка обеспечивает очень хорошее введение в Javascript Date.

http://blog.boyet.com/blog/javascriptlessons/javascript-for-c-developers-date-basics/

0 голосов
/ 26 ноября 2010

В итоге я написал некоторый код.

В JS напишите

$.cookie('pluginLastDate', (new Date).toUTCString());

Затем используйте это с использованием System.Text.RegularExpressions для анализа даты и времени

    string[] Months = new string[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
    DateTime GetJSDate(string sz)
    {
        var m = Regex.Match(sz, @", (\d+) (\w+) (\d{4,}) (\d{2})\:(\d{2})\:(\d{2}) (GMT|UTC)");
        if (m.Success == false)
            throw new Exception("Fail :(");
        var y = Int32.Parse(m.Groups[3].Value);
        var mo = Array.IndexOf(Months, m.Groups[2].Value) + 1;
        var day = Int32.Parse(m.Groups[1].Value);
        var h = Int32.Parse(m.Groups[4].Value);
        var min = Int32.Parse(m.Groups[5].Value);
        var se = Int32.Parse(m.Groups[6].Value);
        var d = new DateTime(y, mo, day, h, min, se, DateTimeKind.Utc);
        return d;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...