一个UnversalTime与本地时间相互转换的工具
2011-12-08 14:40
197 查看
这是个小例侱,用于UnversalTime与本地时间的相互转换,最底下的两个空格时用来计算离现在X小时Y分前的时间的。本例程用Visual Studio 2010开发。.NET Framework 4.0。由于嫌麻烦我把修改DateTimePicker值的方法写成了一个事件。这个例程也可以算是个自定义事件的例程吧。
相关资源:http://download.csdn.net/detail/tx_officedev/3895915
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace UTC_LocalTime { public partial class Form1 : Form { private DatePickUnit dpu = new DatePickUnit(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string FormatString = "yyyy年M月d日 H:mm"; //y年,M月,d日,H24小时制,h12小时制,s秒 dateTimePicker1.CustomFormat = FormatString; dateTimePicker2.CustomFormat = FormatString; dateTimePicker1.Format = DateTimePickerFormat.Custom; dateTimePicker2.Format = DateTimePickerFormat.Custom; dpu.UniversalTimePicker = dateTimePicker1; dpu.LocalTimePicker = dateTimePicker2; dpu.TimeChange += new DatePickUnit.TimeChangeHandler(dpu_TimeChange); dpu.ChangeTime(DateTime.Now,false); } void dpu_TimeChange(DateTimePicker UniversalTimePicker, DateTimePicker LocalTimePicker, DateTime TimeValue, bool IsUniversalTimeChanged) { if (IsUniversalTimeChanged) { LocalTimePicker.Value = TimeValue; } else { UniversalTimePicker.Value = TimeValue.ToUniversalTime(); } } private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { dpu.ChangeTime(dateTimePicker1.Value.ToLocalTime(), true); } private void dateTimePicker2_ValueChanged(object sender, EventArgs e) { dpu.ChangeTime(dateTimePicker2.Value, false); } private void button1_Click(object sender, EventArgs e) { string strHours = textBox1.Text; string strMinutes = textBox2.Text; int hours = 0; int minutes = 0; hours = Convert(strHours,true); minutes = Convert(strMinutes,false); DateTime current = DateTime.Now; current = current.AddHours(-1 * hours); current = current.AddMinutes(-1 * minutes); dpu.ChangeTime(current, false); textBox1.Text = ""; textBox2.Text = ""; } private int Convert(string strValue,bool IsHour) { int result = 0; string strTitle = string.Empty; try { if (strValue.Length > 0) { result = int.Parse(strValue); } } catch (Exception ex) { if (ex is FormatException) { if (IsHour) { strTitle = "小时"; } else { strTitle = "分钟"; } MessageBox.Show(strTitle + "数字格式错误,请重新设定!", strTitle + "格式错误",MessageBoxButtons.OK,MessageBoxIcon.Error); } } return result; } } internal class DatePickUnit { public DateTimePicker UniversalTimePicker{set;get;} public DateTimePicker LocalTimePicker{set;get;} public delegate void TimeChangeHandler(DateTimePicker UniversalTimePicker,DateTimePicker LocalTimePicker,DateTime TimeValue,bool IsUniversalTimeChanged); public event TimeChangeHandler TimeChange; public void ChangeTime(DateTime time,bool IsUniversalTimeChanged) { TimeChange(UniversalTimePicker, LocalTimePicker, time,IsUniversalTimeChanged); } } }
相关资源:http://download.csdn.net/detail/tx_officedev/3895915
相关文章推荐
- 一个UnversalTime与本地时间相互转换的工具
- Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- python时间模块time,时间戳,结构化时间,字符串时间,相互转换,datetime
- unix time stamp(时间戳)和常规时间相互转换的C++代码
- Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- SQL Server 本地时间和UTC时间的相互转换
- C/C++时间相关操作 SYSTEMTIME time_t 字符串的相互转换
- Joda-Time的使用以及其与jdk中时间类型的相互转换
- 日期时间与 time_t 相互转换
- 一个修改文件时间戳的工具TimeStomp
- C语言中两种方式表示时间日期值time_t和struct tm类型的相互转换
- linux获取本地时间以及转换成time_t类型
- SQL Server本地时间和UTC时间的相互转换实现代码
- 【測试工具】一个将Unix时间转换为通用时间的工具
- 分享一个工具:OgreXMLConverter(可以将Mesh文件的Bin与Xml格式相互转换)
- SQL Server 本地时间和UTC时间的相互转换的代码
- 【原创】Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- unix time 和北京时间相互转换的公式
- 本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换