1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15. using System.Windows.Threading;
  16. using System.IO;
  17. namespace TimeUpGoHome
  18. {
  19. /// <summary>
  20. /// MainWindow.xaml 的交互逻辑
  21. /// </summary>
  22. public partial class MainWindow : Window
  23. {
  24. private string shouldGoHomeTime = "18:15";
  25. private string trueGoHomeTime = "";
  26. private DispatcherTimer ShowTimer;
  27. public MainWindow()
  28. {
  29. InitializeComponent();
  30. ShowTimer = new System.Windows.Threading.DispatcherTimer();
  31. ShowTimer.Tick += new EventHandler(ShowCurTimer);//起个Timer一直获取当前时间
  32. ShowTimer.Interval = new TimeSpan(0, 0, 0, 1, 0);
  33. ShowTimer.Start();
  34. this.MyText.Text = "";
  35. }
  36. public void ShowCurTimer(object sender, EventArgs e)
  37. {
  38. //"星期"+DateTime.Now.DayOfWeek.ToString(("d"))
  39. //获得星期几
  40. // this.Tt2.Text = DateTime.Now.ToString("dddd", new System.Globalization.CultureInfo("zh-cn"));
  41. //his.Tt.Text += " ";
  42. //获得年月日
  43. this.Tt2.Text = DateTime.Now.ToString("yyyy年MM月dd日"); //yyyy年MM月dd日
  44. // this.Tt.Text += " ";
  45. //获得时分
  46. this.Tt.Text = DateTime.Now.ToString("HH:mm");
  47. //System.Diagnostics.Debug.Print("this.ShowCurrentTime {0}", this.ShowCurrentTime);
  48. }
  49. private int[] GetHourAndMin(string _timer){
  50. int n = int.Parse(_timer.Substring(0, 2));
  51. int m = int.Parse(_timer.Substring(3,2));
  52. int[] to_back = new int[] { n,m};
  53. return to_back;
  54. }
  55. private int[] GetRemainHourAndMin(int smallMins1,int bigMins2){
  56. int remainMins= bigMins2-smallMins1;
  57. int remainHours=remainMins/60;
  58. int remainRemainMins=remainMins%60;
  59. int[] to_back=new int[]{remainHours,remainRemainMins};
  60. return to_back;
  61. }
  62. private int GetMins(int[] timeTable)
  63. {
  64. return timeTable[0] * 60 + timeTable[1];
  65. }
  66. private void Button_Click(object sender, RoutedEventArgs e)
  67. {
  68. string today_date = this.Tt2.Text;
  69. string trueBackHomeTime = this.Tt.Text;
  70. int[] shouldBackTimeTable = GetHourAndMin(shouldGoHomeTime);
  71. int[] trueBackTimeTable = GetHourAndMin(trueBackHomeTime);
  72. int shouldMins=GetMins(shouldBackTimeTable);
  73. int trueMins=GetMins(trueBackTimeTable);
  74. if (trueMins < shouldMins)
  75. {
  76. this.MyText.Text="时间还没到!!";
  77. }
  78. else
  79. {
  80. this.MyText.Text="";
  81. int[] remainTimes = GetRemainHourAndMin(shouldMins, trueMins);
  82. using
  83. (StreamWriter iFile = new StreamWriter("D:/AfterWorkLog/workLog.txt", true))
  84. iFile.WriteLine("加班时间:" + today_date+" "+ shouldGoHomeTime + " 到 " + trueBackHomeTime + "; 累计:" +remainTimes[0]+"小时 "+remainTimes[1]+ " 分钟");
  85. App.Current.Shutdown();
  86. }
  87. }
  88. }
  89. }
 

加班计时App的更多相关文章

  1. 强制20天加班开发app后被集体解雇,象寻技术负责人公众号发文怒斥前领导

    5月16日下午三点,象寻官方公众号发了一篇<祝象寻早日倒闭的文章>文章,文章配一个竖中指的手势.如此劲爆的文章瞬间引爆了微信朋友圈,大家纷纷分享给好友和微信群,阅读量也达到了十万+. 当时 ...

  2. 蜗牛圈圈-时尚智能的运动计时App

    Duang! 各类运动爱好者的福音来啦! 蜗牛圈圈-最智能的圈速计时助手 扫描二维码下载体验 [产品简介] -蜗牛圈圈是一款专业的圈速计时工具,帮助您获得整个运动过程中的各项数据,保存记录,分享激情. ...

  3. C Primer Plus(第五版)7

    第 7 章 C 控制语句:分支和跳转 在本章中你将学习下列内容: · 关键字:if(如果),else(否则),switch(切换),continue(继续),break(中断), case(情况),d ...

  4. node.js报错throw err; // Rethrow non-MySQL errors e:\serverTest\node_modules\mysql\lib\protocol\Parser.js:79 解决方法

    今天在用node+angular做后台时,需要使用session保存登陆状态的时候,遇到了此问题,问题直译为非mysql问题,我也在后台取到的登陆用户名和密码,确实不是数据库问题.最后发现在使用ses ...

  5. 近期热门微信小程序demo源码下载汇总

    近期微信小程序demo源码下载汇总,乃小程序学习分析必备素材!点击标题即可下载: 即速应用首发!原创!电商商场Demo 优质微信小程序推荐 -秀人美女图 图片下载.滑动翻页 微信小程序 - 新词 GE ...

  6. Prism 4 文档 ---第7章 组成用户界面

    一个应用程序的用户界面(UI)可以通用以下几种模式之一来构建: 窗体所需要所有的控件都包含在一个单独的XAML文件中,在设计时组合这个窗体. 窗体的逻辑区域被分割到单独的部分中,通常指哟过户控件.这些 ...

  7. .Net语言 APP开发平台——Smobiler学习日志:如何快速实现Timer计时功能

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobil ...

  8. 带你实现开发者头条APP(三) 首页实现

    title: 带你实现开发者头条APP(三) 首页实现 tags: 轮播广告,ViewPager切换,圆形图片 grammar_cjkRuby: true --- 一.前言 今天实现开发者头条APP的 ...

  9. 2016年我们重新思考移动互联网创业的风险, 微信还是APP?

    感觉这两年前端开发又火起来了,很多做内容创业和做微电商创业的人,往往都选择了运营微信号.对于做纯技术开发的人来说,一般是看不上微信号的,感觉没什么技术含量,或者说没什么技术壁垒.也有另一批人观点相反的 ...

随机推荐

  1. Bootstrap3.0学习第六轮(表单)

    Bootstrap3.0学习第六轮(表单) 前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/aehyok/p/3404867.h ...

  2. 7月22日-奇舞团关于when.js与promise的分享

    关于when.js的使用见屈屈的分享 http://www.imququ.com/post/promises-when-js.html 关于promise的实现见月影的分享 http://www.wu ...

  3. JavaScript的基本类型总结

    看了让你有收获的JavaScript的基本类型总结   Javascript是一种弱类型语言,没有明确的类型分类:网上分类的方式比较多,个人感觉不比去特别的追究细分是什么什么类型,若是能够明确的分出类 ...

  4. 如何在ASP.NET大型应用系统的模块化开发实现多版本程序集并存支持[转载]

    如何在ASP.NET大型应用系统的模块化开发实现多版本程序集并存支持 这是我最近碰到的一个问题,有一家企业.NET程序员有80多人,产品线很多也很复杂.对于这样的产品,他们采用了模块化开发来实现复用与 ...

  5. 对象转Json序列化

    C#--对象转Json序列化 前言 最近在研究Android项目,其中涉及到Android中解析Json数据的问题,需要模拟网络中传递Json数据的模式,因为以前是.net的工程师,所以想着从.net ...

  6. javascript操作写入txt文件及消息: Automation 服务器不能创建对象问题

    简单的写入txt代码: function WriteTxt() {      var fso, tf;      fso = new ActiveXObject("Scripting.Fil ...

  7. 玩转docker镜像和镜像构建

    摘要 本文从个人的角度,讲述对于docker镜像和镜像构建的一些实践经验.主要内容包括利用docker hub进行在线编译,下载镜像,dind的实践,对于镜像的一些思考等.本文是对当时微信分享内容的一 ...

  8. Linux负载均衡软件LVS之三(配置篇)

    LVS集群有DR.TUN.NAT三种配置模式,可以对www服务.FTP服务.MAIL服务等做负载均衡,下面通过搭建www服务的负载均衡实例,讲述基于DR模式的LVS集群配置. 一. Director ...

  9. HTML meta viewport属性

    什么是Viewport 手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机 ...

  10. 使用Unity创建塔防游戏(Part2)

    How to Create a Tower Defense Game in Unity – Part 2 原文地址:https://www.raywenderlich.com/107529/unity ...