私はこの方法を持っています:
public static DateTime GetDatetime(string ampm, string hour, string minute)
{
int iHour = Convert.ToInt32(hour);
int iMinute = Convert.ToInt32(minute);
if (ampm == "PM" && iHour != 12)
iHour = 12 + iHour;
DateTime dtTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month,
DateTime.Now.Day, iHour, iMinute, 0);
return dtTime;
}
これは基本的にAM/PMと時と分を受け入れ、DateTimeを提供します。私は次のように入力します
DateTime startTIme = GetDatetime("AM", "12", "30");
ローカルマシンで午前12時30分に正しく時刻を取得します。ただし、これと同じメソッドをサーバーで実行すると、午後12時30分になります。これは私を狂わせています。誰かが私を助けることができますか?私は何が間違っているのですか?
アップデート:
私の新しい関数は次のとおりです。
public static DateTime GetDatetime(string ampm, string hour, string minute)
{
int iHour = Convert.ToInt32(hour);
int iMinute = Convert.ToInt32(minute);
if (ampm == "PM" && iHour != 12)
iHour = 12 + iHour;
else if (ampm == "AM" && iHour == 12)
iHour = 0;
DateTime dtTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month,
DateTime.Now.Day, iHour, iMinute, 0);
return dtTime;
}
これはうまくいくようです。誰かがこのコードで何か問題を見つけることができますか?