Member 12770464 Ответов: 1

Как получить системную дату и время вместо сервера.


Когда я запускаю свое приложение на локальном хосте, я получаю свое системное время и дату из DateTime. Now.
Но когда я размещаю его на сервере, я получаю дату и время сервера. Это сервер Godaddy.(США). вместо серверного datetime я хочу получить машинное время и дату

Что я уже пробовал:

Датавремя датазнач = дата и время.Сейчас;
значение даты.ToString("dddd");
+значение даты.ToString ("h:mm:ss tt");

[no name]

Затем напишите какой-нибудь клиентский код, чтобы получить время.

1 Ответов

Рейтинг:
12

Suvendu Shekhar Giri

В принципе есть два подхода-
1. Боковой подход к каждому клиенту
При таком подходе вы можете воспользоваться помощью некоторого клиентского скрипта, такого как javascript, чтобы получить дату и время в клиентской системе. Что-то вроде следующего-

var currentdate = new Date();

Проверьте следующую ссылку-
Даты JavaScript[^]

Хорошо. А что, если у меня в компьютере неправильно установлено время? Неверный результат. Вот тут-то нам и нужен второй вариант.
2. преобразуйте время в местное
Ну, вы можете сделать это с помощью своего кода C#.
Пример:
DateTime dateValue = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")); //for converting to IST


Надеюсь, это поможет :)
Примечание: есть способы сделать это и на стороне клиента. но эти 2 варианта должны помочь вашему делу. Пожалуйста, дайте мне знать, если я что-то здесь упущу.


Member 12770464

Хорошо, я проверю это и дам вам знать. Тем временем в моей SqlCommand я использую GETDATE () для хранения datetime в базе данных. Опять же сервер размещен на Godaddy.
Так что снова будет использоваться сервер datetime или system.
И если предположить, что он использует сервер datetime. Могу ли я использовать этот метод для выполнения задачи?
Спасибо

Member 12770464

@Suvendu. Клиенты из разных стран. У них разный GMT. Как это сделать сейчас.

Suvendu Shekhar Giri

Да, вы можете отправить значение datetime в БД, чтобы сохранить правильное значение.
Getdate () вернет местное время.
Вы делаете что-то вроде
getutcdate()+'5: 30'
чтобы получить правильное значение в IST.

Member 12770464

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

Karthik_Mahalingam

5

Suvendu Shekhar Giri

Спасибо @Картик :)

Karthik_Mahalingam

добро пожаловать :)

Member 12770464

Можете ли вы объяснить это 5 ??:) Спасибо

Karthik_Mahalingam

потому что из этого
var currentdate = новая дата(); // я бы рекомендовал только это.
надежный способ получить время клиента

Suvendu Shekhar Giri

@Karthik, я думаю, что ОП просто хочет понять, что означает "5".
@OP, здесь "5" означает.. рейтинг / голосование ответ с 5 звездами.

Member 12770464

О. Я вижу. Да. Твой ответ был безупречен. Я думал, что он имел в виду getutcdate ()+ '5'

Karthik_Mahalingam

извини, чувак, я неправильно понял,
у меня рейтинг 5 из 5 звезд для решения suvendu по
:)

Karthik_Mahalingam

:)