2012-07-08 2 views
2

MVC3 및 C#에서도 새로운 기능입니다. C#으로 MVC3에 의해 테스트 블로그 사이트를 만들 예정입니다. 사용자가 게시물을 쓸 수있는 곳에서 나는 사용자가 게시 한 날짜 - 시간을 저장해야하며 거기에 의해 다른 모든 사용자가 현지 시간을 소유하고 있음을 보여주고 싶습니다. 이 경우에는 모두 GMT에 날짜를 저장하는 것이 좋습니다.MVC3 (C#)에서 GMT DateTime을 GMT로 변환하는 사용자 현지 시간 및 현지 시간으로

나는 사용자에게 지역 날짜와 시간을 얻을 GMT 및 저장으로 변환하는 방법을 모르겠어요. 각 사용자의 로컬 날짜 - 시간에 저장된 날짜 - 시간을 변환하고 표시하는 방법을 모르겠습니다.

도와주세요. please

답변

2

나는 한 점에서만 냉담한 것에 정중하게 의견을 달리해야 할 것입니다. DateTime.Now을 사용하는 경우 앱 서버를 실행하는 컴퓨터의 시간은 &입니다. 이것은 괜찮지 만 저장하는 동안 시간대도 함께 저장해야합니다. 변환하지 않으면 변환 할 시간대를 알 수 없습니다. 앱에 하드 코딩 한 다음 다른 시간대의 데이터 센터 서버로 옮긴 경우 해당 앱 설정을 변경해야합니다.

다른 한편으로 을 사용하여 항상 & 시간을 저장하는 경우 데이터베이스에 1 개의 값만 저장하면됩니다. 시간대 로케일로 변환 할 시간이 왔을 때, 정보를 원래 계산 한 시간대를 확인하기 위해 데이터베이스에 도달 할 필요가 없습니다. 항상 UTC/GMT입니다.

var destinationTimeZone = TimeZoneInfo.FindSystemTimeZoneById(
    "US Mountain Standard Time"); 

utc = DateTime.UtcNow; 
mst = TimeZoneInfo.ConvertTimeFromUtc(utcTime, destinationTimeZone); 

Console.WriteLine("UTC: " + utc.ToString("yyyy-MM-dd HH-mm-ss")); 
Console.WriteLine("MST: " + mst.ToString("yyyy-MM-dd HH-mm-ss")); 
관련 문제