我尝试了所有方法来获取当前的年/月/日/小时,但是它不起作用。我总是在1小时后得到数据。因此,如果在荷兰是17:00,我会得到16:00。我已经尝试了很多东西,但是我无法解决这个问题。这是一个错误吗?
我尝试过:
string dateTimeNowPlusForecaseHour = DateTimeOffset.Now.ToLocalTime().AddHours(hour).ToString("yyyyMMddhh");
这:
string dateTimeNowPlusForecaseHour = DateTimeOffset.UtcNow.ToLocalTime().AddHours(hour).ToString("yyyyMMddhh");
这:
string dateTimeNowPlusForecaseHour = DateTimeOffset.UtcNow.ToLocalTime().AddHours(hour).ToString("yyyyMMddhh");
这:
string dateTimeNowPlusForecaseHour = DateTimeOffset.Now.AddHours(hour).ToString("yyyyMMddhh");
这:
public string GetForecastTime(int hour)
{
// Take amount of seconds elapsed since 1970
var amountOfSecondsElapsedSince1970 = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();
// Make a Datetime variable (1970 is the start)
System.DateTime dateTimeNowString = new DateTime(1970,1,System.DateTimeKind.Utc);
// Add amountOfSecondsElapsedSince1970 to the date time starting at 1970,+ the amount of hours (for each forecast so 0,and 2)
dateTimeNowString = dateTimeNowString.AddSeconds(amountOfSecondsElapsedSince1970).AddHours(hour).ToLocalTime();
// This is the dateTime
string dateRealWeatherForecastTimee = dateTimeNowString.ToString("yyyyMMddhh");
return dateRealWeatherForecastTimee;
}
似乎没有任何效果。请帮我解决这个问题。
更新:
我在新的asp.net核心控制台项目(而不是我正在处理的项目)上尝试了以下行:
string dateTimeNowPlusForecaseHour = DateTime.Now.AddHours(hour).ToString("yyyyMMddhh");
那行得通!但是为什么它不适用于我正在从事的项目?
Update2.0: 当我查看项目的时区时,会出现GMT错误。当我创建一个新的asp.net核心控制台项目并查看时区时,我得到了w。欧洲,这给了我正确的时间...为什么时区错误?那不应该自动正确吗?