2009-12-30 75 views
0

我正在开发一个应用程序,其中我试图从单个DateTimePicker控件获取日期,时间和时区。任何人都可以帮助解决这个问题吗?如何从单个DateTimePicker控件获取日期,时间和时区

编辑1
我正在使用.NET Framework 2.0。现在,我可以通过设置其CustomFormat财产

dtpicker2.CustomFormat = "MM/dd/yyyy,hh:mm:ss" 

现在我的问题是取的时区来获取日期和时间与单DateTimePicker

编辑2
现在,这里是一个多问题,如果我设置DateTimePicker的格式属性时,它显示我像2:30:00 PM。我将它存储在一个文件中,并将其重新分配给DateTimePicker控件。
任何人都可以帮助我,如何实现这一目标?

回答

0

你将无法使用它自己的DateTimePicker 。

相反,你将不得不有一个复合控制,其上有一个DateTimePicker,以及另一个控制将作为抵消。

这个控件可能是一个数字上/下控制,你可以使用小时,分钟,秒等等偏移量(或仅仅是一个文本框)。

另一种选择是,如果你有一个位置(经度和纬度,which you can obtain via Google through HTTP的形式,如果你有一个地址),使用Timezone API function at GeoNames这将允许您传递纬度和经度值,它会返回时区为那个位置。这与TZ databaseZoneInfo project一起将允许您确定该特定日期/时间的偏移量(所有地点和所有日期都不相同)。

+0

我正要+1,直到提到地理编码。不要这样做,chaps,尤其是UI的默认值:它确实非常非常不可靠,只会让用户恼火。 – 2009-12-30 07:16:09

+0

@Jeremy McGee:请注意我是如何说的,如果你有一个地址。我相信你认为我暗示我应该通过IP地址进行地理编码,我同意这种说法*非常*不可靠。地理编码并不意味着使用IP地址来解析物理位置。如果有人有地址,Google可以一贯而准确地将其翻译为经纬度对。 – casperOne 2009-12-30 07:46:47

+0

感谢您的回复。其实,我正在开发一个Windows应用程序,其中我正在尝试输入日期,时间和时区。我找到了获取日期和时间的方法,有两个不同的DateTimePicker控件,当然可以用单一控件实现,但为了简单起见,我使用了2。我发现了一个与.NET 3.5中的TimeZoneInfo等效的类。现在我正在利用这个课程。 – 2010-01-01 15:38:08

0

使用DateTimePicker可以在Format属性更改为定制,并指定CustomFormat属性DD MMM YYYY HH:MM:SS。这将允许你在你的代码中使用

DateTime dt = dateTimePicker1.Value; 
dt.Date 
dt.TimeOfDay 

不幸的是,的DateTimePicker没有内置的TimeZone,但你可以利用

TimeZone tz = TimeZone.CurrentTimeZone; 

也有看看这个问题

Custom Formating a DateTimePicker using CultureInfo

0

Any+Time(TM) Datepicker/Timepicker AJAX Calendar Widget现在支持时区输入/输出,选择和转换。它应该与.NET兼容(如果遇到问题,请参阅网页上的故障排除部分),并且具有非常广泛的时区支持(请参阅网页上关于UTC偏移量的部分)。希望它能满足你的需求。

相关问题