时间格式相关操作

1:获取,设置 系统时间:

public class SetSystemDateTime//设置系统日期类
        {
            [DllImportAttribute("Kernel32.dll")]
            public static extern void GetLocalTime(SystemTime st);
            [DllImportAttribute("Kernel32.dll")]
            public static extern void SetLocalTime(SystemTime st);
        }

  [StructLayoutAttribute(LayoutKind.Sequential)]
        public class SystemTime//系统时间类
        {
            public ushort vYear;//年
            public ushort vMonth;//月
            public ushort vDayOfWeek;//星期
            public ushort vDay;//日
            public ushort vHour;//小时
            public ushort vMinute;//分
            public ushort vSecond;//秒
        }

//实现
  DateTime Year = this.dateTimePicker1.Value;//得到时间信息
                SystemTime MySystemTime = new SystemTime();//创建系统时间类的对象
                SetSystemDateTime.GetLocalTime(MySystemTime);//得到系统时间
                MySystemTime.vYear = (ushort)this.dateTimePicker1.Value.Year;//设置年
                MySystemTime.vMonth = (ushort)this.dateTimePicker1.Value.Month;//设置月
                MySystemTime.vDay = (ushort)this.dateTimePicker1.Value.Day;//设置日
                MySystemTime.vHour = (ushort)this.dateTimePicker2.Value.Hour;//设置小时
                MySystemTime.vMinute = (ushort)this.dateTimePicker2.Value.Minute;//设置分
                MySystemTime.vSecond = (ushort)this.dateTimePicker2.Value.Second;//设置秒
                SetSystemDateTime.SetLocalTime(MySystemTime);//设置系统时间

2:根据生日计算年龄

using Microsoft.VisualBasic;

      long P_BirthDay = DateAndTime.DateDiff(DateInterval.Year,//计算年龄
                 dtpicker_BirthDay.Value,DateTime.Now,
                 FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1);

3:根据年份判断12生肖

System.Globalization.ChineseLunisolarCalendar chinseCaleander =//创建日历对象
          new System.Globalization.ChineseLunisolarCalendar();
 string TreeYear = "鼠牛虎兔龙蛇马羊猴鸡狗猪";//创建字符串对象
 int intYear = chinseCaleander.GetSexagenaryYear(DateTime.Now);//计算年信息
 string Tree = TreeYear.Substring(chinseCaleander.//得到生肖信息
            GetTerrestrialBranch(intYear) - 1, 1);
        //输出生肖信息 
 MessageBox.Show("今年是十二生肖" + Tree + "年","判断十二生肖", MessageBoxButtons.OK,MessageBoxIcon.Information);

4:判断当前日期是星期几

MessageBox.Show("今天是: " + DateTime.Now.ToString("dddd"), "提示!");//显示星期信息

5:判断当前年有多少天

if (DateTime.IsLeapYear(int.Parse(DateTime.Now.ToString("yyyy"))))//判断是否为闰年
            {
                MessageBox.Show("本年有366天","提示!");//显示天数信息
            }
            else
            {
                MessageBox.Show("本年有365天", "提示!");//显示天数信息
            }

6:计算当前月的天数

int P_Count = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);//获取本月的天数
            MessageBox.Show("本月有" +P_Count.ToString() + "天", "提示!");//显示本月的天数

7:计算当前日期的前一天

//显示前一天日期
            MessageBox.Show("昨天是:" + DateTime.Now.AddDays(-1).ToString("yyyy年M月d日"), "提示!");

8:将日期转为指定格式

lab_time.Text =
                DateTime.Now.ToString("d") + "\n" +//使用指定格式的字符串变量格式化日期字符串
                DateTime.Now.ToString("D") + "\n" +
                DateTime.Now.ToString("f") + "\n" +
                DateTime.Now.ToString("F") + "\n" +
                DateTime.Now.ToString("g") + "\n" +
                DateTime.Now.ToString("G") + "\n" +
                DateTime.Now.ToString("R") + "\n" +
                DateTime.Now.ToString("y") + "\n" +
                "当前系统时间为:"+DateTime.Now.ToString(//使用自定义格式格式化字符串
                "yyyy年MM月dd日 HH时mm分ss秒");

结果显示:

9:用DateDiff获得日期之间的间隔数

using Microsoft.VisualBasic;

MessageBox.Show("间隔 "+DateAndTime.DateDiff(//使用DateDiff方法获取日期间隔
               DateInterval.Day, dtpicker_first.Value, dtpicker_second.Value,
               FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1).ToString()+" 天", "间隔时间");

10:向当前时间添加一段时间

using Microsoft.VisualBasic;

   private DateTime G_datetime;//定义时间字段

 G_datetime = DateAndTime.DateAdd( DateInterval.Minute, 1, G_datetime);//向时间字段中添加一分钟
 G_datetime = DateAndTime.DateAdd( DateInterval.Hour, 1, G_datetime);//向时间字段中添加一小时
 G_datetime = DateAndTime.DateAdd( DateInterval.Day, 1, G_datetime);//向时间字段中添加一天

11:TimaSpan计算两个时间间隔

private DateTime G_DateTime_First, G_DateTime_Second;//定义两个时间字段
G_DateTime_First = DateTime.Now;//为时间字段赋值
 G_DateTime_Second = DateTime.Now;//为时间字段赋值
 TimeSpan P_timespan_temp =//计算两个时间的时间间隔
                G_DateTime_First > G_DateTime_Second ?
                G_DateTime_First - G_DateTime_Second :
                G_DateTime_Second - G_DateTime_First;
lab_result.Text = string.Format(//显示时间间隔
                "间隔时间:{0}天{1}时{2}分{3}秒 {4}毫秒",
                P_timespan_temp.Days, P_timespan_temp.Hours,
                P_timespan_temp.Minutes, P_timespan_temp.Seconds,
                P_timespan_temp.Milliseconds);

12:使用Sleep方法延时时间

Thread th = new Thread(//创建线程对象
                () =>//使用Lambda表达式
                {
                    while (true)//无限循环
                    {
                        Invoke(//在窗体线程中执行
                            (MethodInvoker)(() =>//使用Lambda表达式
                            {
                                txt_Time.Text =//显示系统时间
                                    DateTime.Now.ToString("F");
                            }));
                        Thread.Sleep(1000);//线程挂起1000毫秒
                    }
                });
            th.IsBackground = true;//设置线程为后台线程
            th.Start();//开始执行线程

13:计算程序的运行时间

G_DateTime = DateTime.Now;//得到系统当前时间
            Thread P_th = new Thread(//创建线程
                () =>//使用Lambda表达式
                {
                    while (true)//无限循环
                    {
                        TimeSpan P_TimeSpan =//得到时间差
                            DateTime.Now - G_DateTime;
                        Invoke(//调用窗体线程
                            (MethodInvoker)(() =>//使用Lambda表达式
                            {
                                tssLabel_Time.Text =//显示程序启动时间
                                    string.Format(
                                    "系统已经运行: {0}天{1}小时{2}分{3}秒",
                                    P_TimeSpan.Days, P_TimeSpan.Hours,
                                    P_TimeSpan.Minutes, P_TimeSpan.Seconds);
                            }));
                        Thread.Sleep(1000);//线程挂起1秒钟
                    }
                });
            P_th.IsBackground = true;//设置为后台线程
            P_th.Start();//开始执行线程

14:用ParseExact将字符串转化为日期

string s="2001/11/11";
DateTime P_dt = DateTime.ParseExact(  s, "yyyy/MM/dd", null);//将字符串转换为日期格式

15:使用ToString方法格式化日期

lb_Format.Text += Environment.NewLine;
            lb_Format.Text += string.Format("{0}",DateTime.Now.ToString("F"));//使用指定日期格式化方式格式化字符串
            lb_Format.Text += Environment.NewLine;
            lb_Format.Text += string.Format("{0}", DateTime.Now.ToString("f"));//使用指定日期格式化方式格式化字符串
            lb_Format.Text += Environment.NewLine;
            lb_Format.Text += string.Format("{0}",DateTime.Now.ToString("D"));//使用指定日期格式化方式格式化字符串
            lb_Format.Text += Environment.NewLine;
            lb_Format.Text += string.Format("{0}",DateTime.Now.ToString("d"));//使用指定日期格式化方式格式化字符串
            lb_Format.Text += Environment.NewLine;
            lb_Format.Text += string.Format("{0}",DateTime.Now.ToString("G"));//使用指定日期格式化方式格式化字符串
            lb_Format.Text += Environment.NewLine;
            lb_Format.Text += string.Format("{0}",DateTime.Now.ToString("g"));//使用指定日期格式化方式格式化字符串
            lb_Format.Text += Environment.NewLine;
            lb_Format.Text += string.Format("{0}",DateTime.Now.ToString("yyyy-MM-dd hh:ss:ff"));//使用指定日期格式化方式格式化字符串

运行结果:

16:使用ToDateTime转换日期显示格式

DateTime P_dt = Convert.ToDateTime("2015/2/2");
            MessageBox.Show("输入的日期为: "+ P_dt.ToLongDateString(), "提示!");//弹出消息对话框
时间: 2024-10-17 11:01:21

时间格式相关操作的相关文章

linux在shell date获取时间的相关操作

获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用date的 -d参数 获取明天的日期 date -d next-day +%Y%m%d 获取昨天的日期 date -d last-day +%Y%m%d 获取上个月的年和月 date -d last-month +%Y%m 获取下个月的年和月date -d next-month +%Y%m 获取明年

家庭记账本app进度之android中AlertDialog的相关应用以及对日期时间的相关操作(应用alertdialog使用的谈话框)

对于AlertDialog的相关知识: 1.创建构造器AlertDialog.Builder的对象:    2.通过构造器对象调用setTitle.setMessage.setIcon等方法构造对话框的标题.信息和图标等内容:    3.根据需要调用setPositive/Negative/NeutralButton()方法设置正面按钮.负面按钮和中立按钮:    4.调用构造器对象的create方法创建AlertDialog对象:    5.AlertDialog对象调用show方法,让对话框

C# 时间格式、操作汇总

string str1=(datetime1.AddYears(1)).ToString(); //加年份 string str1=(datetime1.AddMonths(1)).ToString();//加月份 string str1=(datetime1.AddDays(1)).ToString();//加日期 string str1=(datetime1.AddHours(1)).ToString();//加小时 string str1=(datetime1.AddMinutes(1))

Python日期时间的相关操作

1.获取当前时间戳 import time t=time.time() print t 1459994552.51 #以秒为单位的 2.格式化日期 time.localtime() 返回当前时间的: 本地时间为 : time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27, tm_wday=3, tm_yday=98, tm_isdst=0) 解析: 自定义格式化日期 d=time.lo

时间格式相关

NSDateFormatter *df = [[NSDateFormatter alloc]init];        [df setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString * time = @“1990-03-19 00:01:02”;       double  editdate  =  [[df dateFromString:time] timeIntervalSince1970];        将时间改转换成double类型

javascript时间的相关操作

求时间差:求两个时间戳之间的差值 var date1=new Date(); //开始时间 var date2=new Date(); //结束时间 var date3=date2.getTime()-date1.getTime() //时间差的毫秒数,date3即为差值 根据上面的差值计算出相差天数: var days=Math.floor(date3/(24*3600*1000)) 根据上面的差值计算出小时数: var leave1=date3%(24*3600*1000) //计算天数后剩

Delphi获取与设置系统时间格式,即GetLocaleInfo和SetLocaleInfo

在Delphi中,特别是在写管理系统软件时,经常要用到 FormatDateTime 以将 TDateTime 格式的日期时间转换成字符串形式的值显示或保存起来,或者用 StrToDateTime将字符串形式的日期时间转换成 TDateTime 然后再做其他操作. 在进行时间或日期的转换时,会使用系统当前设定的时间日期格式.而如果时间日期格式与字符串中的表示方式不相符,会使转换过程失败.例如当前短日期格式设定为'yyyy/MM/dd',而要转为 '2006-10-20'这样的字符串为日期,就会报

C# 时间 相关操作

DateTime.Now.ToString( " yyyy " ) DateTime.Now.ToString( " yyyyMM " ) DateTime.Now.ToString( " yyyyMMdd " ) C# 时间 相关操作

RobotFramework教程使用笔记——时间控件的相关操作

在web测试过程中,我们可能会遇到时间控件,有的是支持直接输入的,有的为了保证输入时间格式的一致性是只支持点击选择的,那么这个时候如何用robotframework来操作呢? 看下面这个例子: 这个是只支持点击选择的,对于这种控件有以下解决方法: 1.直接定位时间点,使用点击选择时间. 可以看到时间控件里的每个时间都是可以定位到的,所以可以直接定位一个时间点完成操作.   2.使用js来操作显示框,使之变成可输入的.      先使用Assign Id To Element,给输入框赋值个临时i