Проблема локализации с форматами даты при использовании Classic ASP на webmatrix 2

Я становлюсь немного взволнованным здесь. Я работаю над новым сайтом в Classic Asp.

Встроено все, и все работает нормально, и теперь пришло время проверить некоторые данные. В тот момент, когда мы приходим к дате связанных данных, все сходит с ума.

я запустил запрос на своем SQL CE, который поставляется с WebMatrix 2, и вставил дату в поле с помощью Getdate(), и проверил ее, формат - мм / дд / гггг.

Теперь на веб-странице, если я делаю response.write Date(), его в формате дд / мм / гггг.

FormatDateTime (nDate, vbshortdate) возвращает дату в формате гггг / мм / дд.

Хорошо, это было все о предыстории и фактах.

Так что теперь у меня есть дата в поле под названием newDate. я заполнил его в свое текстовое поле, используя переменную. Теперь, если я пытаюсь обновить БД, это ошибка. Я отвечаю. Пишу запрос sql, и дата теперь является строкой в ​​стиле справа налево (арабский).

Я верю, что это может быть проблемой локализации, если кто-то может помочь мне выйти из этого затруднительного положения.

Я также должен добавить, что на своих веб-страницах я использовал charset=utf-8.

большое спасибо

2 ответа

Я использовал следующий код в форме, где данные хранятся в таблице с именем Employees:

@{
var record = UrlData[0].AsInt();
var id=Request["id"];
var db = Database.Open("StarterSite");
var SQLSELECT = "SELECT * FROM Employees where Id=@0";

// Select the requested record //

var emp = db.QuerySingle(SQLSELECT,id);
var EmployeeDOB = emp.DateOfBirth;

EmployeeDOB=Request["formDOB" ];

// Update the database with data from the form //

var SQLUPDATE = "UPDATE Employees Set EmployeeDOB=@1 where Id=@0";
    db.Execute(SQLUPDATE, EmployeeId, 
    EmployeeDOB);
}
<form method="post">

<label for="formDOB" @if (!ModelState.IsValidField("formDOB")) {<text>class="error-     label"</text>} >DOB:</label>
<input  type="date" name="formDOB" value="@EmployeeDOB.ToString("MM/dd/yyyy")" style="display:inline-block;margin-top:5px;margin-bottom:5px;max-width:80px;" onblur=' '/>@Html.ValidationMessage("formDOB")<br />

EmployeeDOB объявлен в таблице как время данных.

Поле ввода отображается в виде даты в формате MM/dd/yy без времени, но сохраняется в таблице как время даты, то есть 22.11.2012 8:00:00 PM.

SQL CE не "форматирует" дату, когда хранит ее как таковую. WebMatrix форматирует его для отображения в инструментах базы данных. Если вы хотите управлять форматом отображения даты в браузере с помощью VBScript, у вас есть несколько вариантов. См. Форматирование даты в VBScript. Также см. Могу ли я сделать даты формата VBScript для меня.

Другие вопросы по тегам