【发布时间】:2011-04-17 23:57:23
【问题描述】:
我有四个整数:
- 一个月中的某天 (1 - 31)
- 一年中的月份 (1 - 12)
- 年份
- 一天中的小时 (0 - 23)
这些整数表示用户在我的网页上选择的日期和时间。它们可能在地球上的任何地方。
谢天谢地,我有他们在地球上的位置的 GMT 偏移量。这是一个小数。
如何获取这四个整数,加上 GMT 偏移小数,并获得代表它们的 UTC 格式的 DateTime?
要回答这个问题,请填写此函数的方法体:
public static DateTime UtcDateTime(int day, int month, int year, int hour, decimal gmtOffset) { // 去做 }
【问题讨论】:
-
鉴于世界上的某些时区以 1 小时为增量,在不知道一小时内的分钟数的情况下,您无法准确地得出每小时 UTC 来表示它们。
-
您是否考虑了夏令时?
-
@Joe:嗯?时间是分数。我有十进制的格林尼治标准时间。 x/(60 * 60) = GMT 偏移分数/(100 * 60),其中
x是秒。 -
是的,但你说你只有:日、月、年和小时。如果没有分钟数,您应该如何表示当前日期和时间?如果不知道当前的分钟数,您将无法知道要调整到哪个小时。
标签: .net datetime localization date