javascript конвертировать десятичные в дату - PullRequest
4 голосов
/ 22 апреля 2011

У меня есть дата в виде строки: var mydate = "05/05/2011" когда я передаю эту переменную в функцию, как: myfunction(mydate);

Я оповещаю о результатах и ​​получаю десятичную, а не строковую дату:

function myfunction(mydate){
    alert(mydate);
}

производит:

0,0004972650422675286

как мне вернуть его на свидание?

Ответы [ 5 ]

4 голосов
/ 22 апреля 2011

Это результат математического выражения: 5 / 5 / 2011 = 4.972e-4, убедитесь, что строка заключена в кавычки.

var x = 5/5/2011; //performs division

as opposed to

var x = "5/5/2011"; //creates a string
2 голосов
/ 02 февраля 2012

У меня тоже была эта проблема (я передавал строку из codebehind во всплывающем окне в javascript на открывателе).Мое решение было довольно простым.

в asp.net

<asp:Label ID="foo" runat="server"/>

в javascript

foo.Text = "5/5/2011";

в codebehind:

string runThis = "blahblah"
+ "'"
+ foo.Text
+ "';";

Безодиночная кавычка, окружающая текст, будет выпуклой десятичной дробью (то есть математическим результатом 5/5/2011)

Полагаю, в вашей ситуации вы могли бы сделать

alert("'" + myDate + "'");
0 голосов
/ 22 апреля 2011

0.0004972650422675286 равно 5 / 5 / 2011 (как в делении).

Скорее всего, вы вводите дату без кавычек или передаете строку в eval, когда вам нужно передать ееDate.parse.

0 голосов
/ 22 апреля 2011

05, деленное на 05, деленное на 2011, равно 0.0004972650422675286, поэтому я думаю, что он думает, что 05.05.2011 - это выражение, а не строка.Вы уверены, что вокруг переменной есть кавычки?

0 голосов
/ 22 апреля 2011

Попробуйте использовать этот синтаксис:

var mydate  = new Date("05/05/2011");
...