获取北京时间
///
/// 获取标准北京时间1
///
///
///
public static DateTime GetStandardTime()
{
DateTime dt;
WebRequest wrt = null;
WebResponse wrp = null;
try
{
wrt = WebRequest.Create("http://www.time.ac.cn/timeflash.asp?user=flash");
wrt.Credentials = CredentialCache.DefaultCredentials;
var wzp = wrt.GetResponse();
// 创建一个新StreamReader实例
var sr = new StreamReader(wzp.GetResponseStream(), Encoding.UTF8);
// 将Response文本读取为HTML格式
var html = sr.ReadToEnd();
// // 显示生成的HTML到消息框(注:此行代码已移除)
sr.Close();
wzp.Close();
通过计算<year>标签的起始位置yearIndex(即从该标签开始后的第6个字符位置),类似地确定其他月份、日期、小时、分钟和秒数的起始位置分别存储在对应的变量中
var yearPart = html.Substring(yearStart, (html.LastIndexOf "") - yearStart + 1);
var monthPart = html.Substring(monthStart, (html.LastIndexOf "") - monthStart + 1);
var dayPart = html.Substring(dayStart, (html.LastIndexOf "") - dayStart + 1);
var hourPart = html.Substring(hourStart, (html.LastIndexOf "") - hourStart + 1);
var minutePart = html.Substring(minuteStart, (html.LastIndexOf "") - minuteStart + 1);
var secondPart = html.Substring(secondStart, (html.LastIndexOf "") - secondStart + 1);
if(int.Parse(month)<10){
month="{}"+month;
}
if(int.Parse(day)<10){
day="{}"+day;
}
if(int.Parse(hour)<10){
hour="{}"+hour;
}
if(int.Parse(minute)<10){
minute="{}"+minute;
}
if(int.Parse(second)<10){
second="{}"+second;
}
dt = DateTime.Parse( year.ToString() +"-" + month.ToString()+"-" + day.ToString() +" "+ hour.ToString()+"-" + minute.ToString()+"-"
+ second.ToString() );
}
catch ( WebException ) {
return DateTime.Parse( "2011-1-1" );
}
catch ( Exception ) {
return DateTime.Parse( "2011-1-1" );
}
finally {
if( wrp != null )
wrp.Close();
if( wrt != null )
wrt.Abort();
}
dt = DateTime.Parse( year.ToString() +"-" + month.ToString()+"-"
+ day.ToString() +" "+ hour.ToString()+"-"
+ minute.ToString()+"-"
+ second.ToString() );
