Преобразование даты и времени в SqlDataSource - PullRequest
0 голосов
/ 09 марта 2020

В настоящее время я работаю над отчетом, в котором PST (Pacifi c Standard Time) использовался в качестве основы для дат.

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

Я обнаружил, что время базы данных / время сервера использовалось в формате UT C, а в отчете используется PST / местное время.

В разделе кода за кодом это дата по умолчанию что они используют, если не был выбран выбор.

    if (!Page.IsPostBack)
    {
        FromTB.Text = DateTime.Today.ToLocalTime().ToString("dddd, MMMM dd, yyyy h:mm tt");
        ToTB.Text = DateTime.Today.ToLocalTime().AddMinutes(1439).ToString("dddd, MMMM dd, yyyy h:mm tt");
    }

Ниже приведен код спереди, используемый при получении данных в базе данных.

<asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString='<%$ ConnectionStrings:xxxxx %>' SelectCommand="select StudYear ,count(CAST(CreatedDate as DATE)) AS StudCount
from Student 
where CreatedDate >= @CreatedDate and CreatedDate <= @CreatedDate2 and StudYear is not null
group by StudYear
order by StudYear"

 <SelectParameters>
  <asp:ControlParameter ControlID="FromTB" Name="CreatedDate" PropertyName="Text" Type="DateTime" />
  <asp:ControlParameter ControlID="ToTB" Name="CreatedDate2" PropertyName="Text" Type="DateTime" />
 </SelectParameters>
</asp:SqlDataSource>

Теперь, когда я сохраняю пример данных Cегодня. Вставленные данные были созданы в «2020-03-09 04: 00: 25.940» UT C, в то время как на странице отчета по умолчанию указывается дата PST «Воскресенье, 8 марта 2020 года, 12:00» в «Воскресенье, 8 марта, 2020 23:59 ".

Из-за этого я не могу получить вновь созданного пользователя.

Как преобразовать @CreatedDate и @CreatedDate2 в SqlDataSource в UT C, чтобы получить данные из базы данных? Или какой должен быть правильный подход для получения правильной информации?

...