• c#的DateTime.Now函数详解

    • //2008年4月24日

       System.DateTime.Now.ToString("D");
       //2008-4-24
       System.DateTime.Now.ToString("d");
       //2008年4月24日 16:30:15
       System.DateTime.Now.ToString("F");
       //2008年4月24日 16:30
       System.DateTime.Now.ToString("f");
       //2008-4-24 16:30:15
       System.DateTime.Now.ToString("G");
       //2008-4-24 16:30
       System.DateTime.Now.ToString("g");
       //16:30:15
       System.DateTime.Now.ToString("T");
       //16:30
       System.DateTime.Now.ToString("t");
       //2008年4月24日 8:30:15
       System.DateTime.Now.ToString("U");
       //2008-04-24 16:30:15Z
       System.DateTime.Now.ToString("u");
       //4月24日
       System.DateTime.Now.ToString("m");
       System.DateTime.Now.ToString("M");
       //Tue, 24 Apr 2008 16:30:15 GMT
       System.DateTime.Now.ToString("r");
       System.DateTime.Now.ToString("R");
       //2008年4月
       System.DateTime.Now.ToString("y");
       System.DateTime.Now.ToString("Y");
       //2008-04-24T15:52:19.1562500+08:00
       System.DateTime.Now.ToString("o");
       System.DateTime.Now.ToString("O");
       //2008-04-24T16:30:15
       System.DateTime.Now.ToString("s");
       //2008-04-24 15:52:19
       System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
       //2008年04月24 15时56分48秒
       System.DateTime.Now.ToString("yyyy年MM月dd HH时mm分ss秒");
       //星期二, 四月 24 2008
       System.DateTime.Now.ToString("dddd, MMMM dd yyyy");
       //二, 四月 24 ’08
       System.DateTime.Now.ToString("ddd, MMM d \"’\"yy");
       //星期二, 四月 24
       System.DateTime.Now.ToString("dddd, MMMM dd");
       //4-08
       System.DateTime.Now.ToString("M/yy");
       //24-04-08
       System.DateTime.Now.ToString("dd-MM-yy");
      //字符型转换转为字符串
      12345.ToString("n");  //生成 12,345.00
      12345.ToString("C"); //生成 ¥12,345.00
      12345.ToString("e"); //生成 1.234500e+004
      12345.ToString("f4"); //生成 12345.0000
      12345.ToString("x"); //生成 3039 (16进制)
      12345.ToString("p"); //生成 1,234,500
       //本年度销售额、本季度利润、本月新增客户 

       //今天

       DateTime.Now.Date.ToShortDateString();
       //昨天,就是今天的日期减一
       DateTime.Now.AddDays(-1).ToShortDateString();
       //明天,同理,加一
       DateTime.Now.AddDays(1).ToShortDateString();
       //本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止
       DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
       DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
       //如果你还不明白,再看一下中文显示星期几的方法就应该懂了
       //由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用switch来一个一个地对照,其实不用那么麻烦的             
       string[] Day = new string[]{ "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
       Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];
       //上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样
       DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
       DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
       //下周
       DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
       DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
       //本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的
       //一般的写法
       DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天
       DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天
       //巧用C#里ToString的字符格式化更简便
       DateTime.Now.ToString("yyyy-MM-01");
       DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();
       //上个月,减去一个月份
       DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();
       DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
       //下个月,加去一个月份
       DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();
       DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString();
       //7天后
       DateTime.Now.Date.ToShortDateString();
       DateTime.Now.AddDays(7).ToShortDateString();
       //7天前
       DateTime.Now.AddDays(-7).ToShortDateString();
       DateTime.Now.Date.ToShortDateString();
       //本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天
       DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();
       DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();
       //上年度,不用再解释了吧
       DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();
       DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();
       //下年度
       DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();
       DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();
       //本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月
       //首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了
       DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01");
       //同理,本季度的最后一天就是下季度的第一天减一
       DateTime.Parse(DateTime.Now.AddMonths(22 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
       //下季度,相信你们都知道了。。。。收工
       DateTime.Now.AddMonths(22 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01");
       DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
       //上季度
       DateTime.Now.AddMonths(-22 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01");
       DateTime.Parse(DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
    • 传魅族将于CES2014发布新机

    • 此前泄露的信息已经证实魅族会参加明年1月初的CES2014消费电子展,但是否会发布新品则没有确切的消息。而根据网友在论坛的爆料称,魅族将在CES2014上率先推出面向中低端市场的MX4G,采用MTK八核解决方案。而新机发布之后距离上市还要一段时间,届时会取代目前售价1699元的魅族MX2。

      尽管现在还无法证实网友爆料的真实性,但至少在新机使用处理器平台方面已经确定不会是MTK的方案。因为根据魅族老总J.Wong在论坛上的说法:“当前MTK的性能还未能达到我心中的要求,当达到我要求的时候就会采用。无论inside intel 还是inside mtk都不会影响我打造心中的产品。”。由此可见,至少目前魅族第MTK的解决方案还不太满意,但不排除以后采用的可能。

      阅读剩余部分...

    • 四川省各城市车牌字母

    • 21个字母眼中的四川
      川A成都、川B绵阳、川C自贡、川D攀枝花、川E泸州、川F德阳、川H广元、川J遂宁、川K内江、川L乐山、川M资阳、川Q宜宾、川R南充、川S达州、川T雅安、川U阿坝藏族、川V甘孜藏族、川W凉山彝族、川X广安、川Y巴中、川Z眉山。

    • SQL查询数据库表名、表的列名

    • --读取库中的所有表名
      select name from sysobjects where xtype='u'

      --读取指定表的所有列名
      select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')
      获取数据库表名和字段
      sqlserver中各个系统表的作用
          sysaltfiles      主数据库                  保存数据库的文件
      syscharsets      主数据库                  字符集与排序顺序
      sysconfigures    主数据库                  配置选项
      syscurconfigs    主数据库                  当前配置选项
      sysdatabases      主数据库                  服务器中的数据库
      syslanguages      主数据库                  语言
      syslogins        主数据库                  登陆帐号信息
      sysoledbusers    主数据库                  链接服务器登陆信息
      sysprocesses      主数据库                  进程
      sysremotelogins主数据库                  远程登录帐号

      syscolumns        每个数据库                列
      sysconstrains    每个数据库                限制
      sysfilegroups    每个数据库                文件组
      sysfiles          每个数据库                文件
      sysforeignkeys 每个数据库                外部关键字
      sysindexs        每个数据库                索引
      sysmenbers        每个数据库                角色成员
      sysobjects        每个数据库                所有数据库对象
      syspermissions 每个数据库                权限
      systypes          每个数据库                用户定义数据类型
      sysusers          每个数据库                用户

      //
      用什么方法可以得到一个表中所有的列名。SQl语句。
      select      列名=name      from      syscolumns      where      id=object_id(N'要查的表名')

    • 在FormShow事件中关闭一个Modal窗口

    • 在窗体FormShow事件中进行条件判断,如果不符合条件时,showmessage显示消息,然后自动关闭窗口。

      showmessage会触发一个modal事件,点确定后,再执行close是无法关闭窗口的,只能通过其它办法才行。

      下面是一种通过消息传递的方法,可完美解决在formshow事件中关闭窗口。

      private
      { Private declarations }
      //定义一个用户消息
      procedure test(var msg: TMessage);message WM_USER;

      procedure TForm1.FormShow(Sender: TObject);
      begin
      //发送消息            
      PostMessage(handle,WM_USER,0,0);
      end;

      procedure TForm1.test(var msg: TMessage);
      begin
      //在消息中关闭窗口
      close;
      end; 

    • 驾校路考失败的原因

    •  原因1.变更车道转向灯长时间未回
      原因2.过人行横道点了刹车但减速不明显(可能是大口子)
      原因3.长时间使用2档
      原因4.在弯道前加速
      原因5.闯红灯
      原因6.刹车踩成油门
      原因7.红灯前停车速度快被考官踩了刹车
      原因8.档没挂上,导致加空油
      原因9.前面的人未摘档,后面的人带档打火
      原因10.靠边停车,拉手刹前松脚刹
      原因11.上下车未关好车门
      原因12.车距太近,自己不觉得,被考官踩了刹车
      原因13.高速靠边停车
      原因14.未使用4档
      原因15.模拟灯光考试前未检查灯光
    • 好久不更新博客了

    • 很长一段时间没有更新博客了,好像没有了以前的激情,现在基本上都是看看微博,微信朋友圈什么的,主要工作太忙了,有空的时候基本上都在刷微博,呵呵。

      还有一个月就是2014年了,明年是出来正式工作第10个年头,又该写年终总结了,今年总的来说还是比较顺畅,买了人生第一辆车,也算是一个大事吧,总的感觉今年比以往几年都要忙,好像年龄变化引起的心里变化还是满大的,工作上还是一如继往地搞CRM,还坚守在delphi阵营,现在基本不会太多的研究开发技术,主要研究整体设计,其实编程语言只是一种工具,至于你用那种语言,对系统没多少影响,系统的灵魂在于系统设计,以前写软件是拿来就开整,结果来来回回要改N次,现在我不这样了,拿到CASE后,第一步先计划,先设计,然后才是编码,总体和全局规划太重要了,都是以前吃的亏才总结的呀。

      现在有空了喜欢研究车,研究单反,或者陪孩子一起玩,想出去旅游。。。。。60岁才能退休,还要工作30年,30年啊,太漫长了,等凑点钱就退休,然后去旅游,哈哈,理想的生活就是这样,钱不要太多,够用就行,周游一下世界,这辈子也不白活了,呵呵

Powered by Typecho)))   ICP:蜀ICP备05009250号