import 'package:intl/intl.dart';///关于时间工具
class DateUtils {static const String PARAM_FORMAT = "yyyy/MM/dd";static const String PARAM_TIME_FORMAT = 'yyyy/MM/dd';static const String PARAM_TIME_FORMAT_H = 'yyyy/MM/dd HH';static const String PARAM_TIME_FORMAT_H_M_S = 'yyyy/MM/dd HH:mm:ss';static const String FORMAT_D_M_H_M_S = 'dd-MM HH:mm:ss';///将时间日期格式转化为时间戳///2018年12月11日///2019-12-11///2018年11月15 11:14分89///结果是毫秒static int getTimeStap({formatData: String}) {var result = formatData.substring(0, 4) +"-" +formatData.substring(5, 7) +"-" +formatData.substring(8, 10);if (formatData.toString().length >= 13 &&formatData.substring(10, 13) != null) {result += "" + formatData.substring(10, 13);}if (formatData.toString().length >= 17 &&formatData.toString().substring(14, 16) != null) {result += ":" + formatData.substring(14, 16);}if (formatData.toString().length >= 19 &&formatData.substring(17, 19) != null) {result += ":" + formatData.substring(17, 19);}var dataTime = DateTime.parse(result);print(dataTime.millisecondsSinceEpoch);return dataTime.millisecondsSinceEpoch;}///获取当前日期返回DateTimestatic DateTime getNowDateTime() {return DateTime.now();}///获取昨天日期返回DateTimestatic DateTime getYesterday() {var dateTime = new DateTime.fromMillisecondsSinceEpoch(DateTime.now().millisecondsSinceEpoch - 24 * 60 * 60 * 1000);return dateTime;}///获取当前日期返回DateTimestatic DateTime getNowUtcDateTime() {return DateTime.now().toUtc();}///获取当前日期,返回指定格式static String getNowDateTimeFormat(String outFormat) {var format = new DateFormat(outFormat);DateTime date = DateTime.now();format.format(date);String formatResult = format.format(date);return formatResult;}///获取当前日期,返回指定格式static String getUtcDateTimeFormat(String outFormat) {var format = new DateFormat(outFormat);DateTime date = DateTime.now().toUtc();format.format(date);String formatResult = format.format(date);return formatResult;}///格式化时间戳///timeSamp:毫秒值///format:"yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"......///结果: 2019?08?04  02?08?02static getFormatData({timeSamp: int, format: String}) {var dataFormat = new DateFormat(format);var dateTime = new DateTime.fromMillisecondsSinceEpoch(timeSamp);String formatResult = dataFormat.format(dateTime);return formatResult;}///格式化///timeSamp:毫秒值///format:"yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"......///结果: 2019?08?04  02?08?02static getFormatStrToStr(String date, String intFormat, String outFormat) {var formatInt = new DateFormat(intFormat);var formatOut = new DateFormat(outFormat);DateTime dateTime = formatInt.parse(date);String formatResult = formatOut.format(dateTime);return formatResult;}///格式化 国际时区转为本地///timeSamp:毫秒值///format:"yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"......///结果: 2019?08?04  02?08?02static getFormatUtcToLocal(String date, String intFormat, String outFormat) {var formatInt = new DateFormat(intFormat);var formatOut = new DateFormat(outFormat);DateTime dateTime = formatInt.parse(date);var timezoneOffset = dateTime.timeZoneOffset.inHours;String formatResult =formatOut.format(dateTime.add(Duration(hours: timezoneOffset)));return formatResult;}///格式化时间戳///timeSamp:毫秒值///format:"yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"......///结果: 2019?08?04  02?08?02static getFormatDataString(DateTime date, String outFormat) {var format = new DateFormat(outFormat);String formatResult = format.format(date);return formatResult;}///格式化时间戳///timeSamp:毫秒值///format:"yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"......///结果: 2019?08?04  02?08?02static getFormatUtcToLocalStr(DateTime date, String outFormat) {var format = new DateFormat(outFormat);var timezoneOffset = date.timeZoneOffset.inHours;String formatResult =format.format(date.add(Duration(hours: timezoneOffset)));return formatResult;}///1.获取从某一天开始到某一天结束的所有的中间日期,例如输入 startTime:2019:07:31  endTime:2019:08:31  就会返回所有的中间天数。///startTime和endTime格式如下都可以///使用:    List<String> mdata=DateUtils.instance.getTimeBettwenStartTimeAndEnd(startTime:"2019-07-11",endTime:"2019-08-29",format:"yyyy年MM月dd");///结果:[2019年07月11, 2019年07月12, 2019年07月13, 2019年07月14, 2019年07月15, 2019年07月16, 2019年07月17, 2019年07月18, 2019年07月19, 2019年07月20, 2019年07月21, 2019年07月22, 2019年07月23, 2019年07月24, 2019年07月25, 2019年07月26, 2019年07月27, 2019年07月28, 2019年07月29, 2019年07月30, 2019年07月31, 2019年08月01, 2019年08月02, 2019年08月03, 2019年08月04, 2019年08月05, 2019年08月06, 2019年08月07, 2019年08月08, 2019年08月09, 2019年08月10, 2019年08月11, 2019年08月12, 2019年08月13, 2019年08月14, 2019年08月15, 2019年08月16, 2019年08月17, 2019年08月18, 2019年08月19, 2019年08月20, 2019年08月21, 2019年08月22, 2019年08月23, 2019年08月24, 2019年08月25, 2019年08月26, 2019年08月27, 2019年08月28, 2019年08月29]static List<String> getTimeBetweenStartTimeAndEnd(String startTime, String endTime, String format) {var mDataList = List<String>();//记录往后每一天的时间搓,用来和最后一天到做对比。这样就能知道什么时候停止了。int allTimeEnd = 0;//记录当前到个数(相当于天数)int currentFlag = 0;DateTime startData = DateTime.parse(startTime);DateTime endData = DateTime.parse(endTime);var mothFormatFlag = new DateFormat(format);while (endData.millisecondsSinceEpoch > allTimeEnd) {allTimeEnd =startData.millisecondsSinceEpoch + currentFlag * 24 * 60 * 60 * 1000;var dateTime = new DateTime.fromMillisecondsSinceEpoch(startData.millisecondsSinceEpoch + currentFlag * 24 * 60 * 60 * 1000);String nowMoth = mothFormatFlag.format(dateTime);mDataList.add("\'" + nowMoth + "\'");currentFlag++;}return mDataList;}///1.获取从某一天开始到某一天结束的所有的中间日期,例如输入 startTime:2019:07:31  endTime:2019:08:31  就会返回所有的中间天数。///startTime和endTime格式如下都可以///使用:    List<String> mdata=DateUtils.instance.getTimeBettwenStartTimeAndEnd(startTime:"2019-07-11",endTime:"2019-08-29",format:"yyyy年MM月dd");///结果:[2019年07月11, 2019年07月12, 2019年07月13, 2019年07月14, 2019年07月15, 2019年07月16, 2019年07月17, 2019年07月18, 2019年07月19, 2019年07月20, 2019年07月21, 2019年07月22, 2019年07月23, 2019年07月24, 2019年07月25, 2019年07月26, 2019年07月27, 2019年07月28, 2019年07月29, 2019年07月30, 2019年07月31, 2019年08月01, 2019年08月02, 2019年08月03, 2019年08月04, 2019年08月05, 2019年08月06, 2019年08月07, 2019年08月08, 2019年08月09, 2019年08月10, 2019年08月11, 2019年08月12, 2019年08月13, 2019年08月14, 2019年08月15, 2019年08月16, 2019年08月17, 2019年08月18, 2019年08月19, 2019年08月20, 2019年08月21, 2019年08月22, 2019年08月23, 2019年08月24, 2019年08月25, 2019年08月26, 2019年08月27, 2019年08月28, 2019年08月29]static List<String> getRangeTime(DateTime startData, DateTime endData, String format) {var mDataList = List<String>();//记录往后每一天的时间搓,用来和最后一天到做对比。这样就能知道什么时候停止了。int allTimeEnd = 0;//记录当前到个数(相当于天数)int currentFlag = 0;var mothFormatFlag = new DateFormat(format);while (endData.millisecondsSinceEpoch > allTimeEnd) {allTimeEnd =startData.millisecondsSinceEpoch + currentFlag * 24 * 60 * 60 * 1000;var dateTime = new DateTime.fromMillisecondsSinceEpoch(startData.millisecondsSinceEpoch + currentFlag * 24 * 60 * 60 * 1000);String nowMoth = mothFormatFlag.format(dateTime);mDataList.add("\'" + nowMoth + "\'");currentFlag++;}return mDataList;}///获取两个日期之间间隔天数static int getRangeDayNumber(DateTime startData, DateTime endData) {return startData.difference(endData).inDays;}///传入starTime格式 2012-02-27 13:27:00 或者 "2012-02-27等....///dayNumber:从startTime往后面多少天你需要输出///format:获取到的日期格式。"yyyy年MM月dd" "yyyy-MM-dd" "yyyy年" "yyyy年MM月" "yyyy年\nMM月dd"  等等///使用:DateUtils.instance.getTimeStartTimeAndEnd(startTime:"2019-07-11",dayNumber:10,format:"yyyy年MM月dd");///结果:[2019年07月11, 2019年07月12, 2019年07月13, 2019年07月14, 2019年07月15, 2019年07月16, 2019年07月17, 2019年07月18, 2019年07月19, 2019年07月20, 2019年07月21]static List<String> getTimeStartTimeAndEnd({startTime: String, dayNumber: int, format: String}) {var mDataList = List<String>();//记录往后每一天的时间搓,用来和最后一天到做对比。这样就能知道什么时候停止了。int allTimeEnd = 0;//记录当前到个数(相当于天数)int currentFlag = 0;DateTime startData = DateTime.parse(startTime);var mothFormatFlag = new DateFormat(format);while (dayNumber >= currentFlag) {var dateTime = new DateTime.fromMillisecondsSinceEpoch(startData.millisecondsSinceEpoch + currentFlag * 24 * 60 * 60 * 1000);String nowMoth = mothFormatFlag.format(dateTime);mDataList.add(nowMoth);currentFlag++;}return mDataList;}///获取前n天日期、后n天日期///传入starTime格式 2012-02-27 13:27:00 或者 "2012-02-27等....///dayNumber:从startTime往后面多少天你需要输出///format:获取到的日期格式。"yyyy年MM月dd" "yyyy-MM-dd" "yyyy年" "yyyy年MM月" "yyyy年\nMM月dd"  等等///使用:DateUtils.instance.getOldDate(startTime:"2019-07-11",dayNumber:10,format:"yyyy年MM月dd");///结果:2019年07月21static String getOldDateStr({startTime: String, dayNumber: int, format: String}) {var date;//记录往后每一天的时间搓,用来和最后一天到做对比。这样就能知道什么时候停止了。DateTime startData = DateTime.parse(startTime);var mothFormatFlag = new DateFormat(format);var dateTime = new DateTime.fromMillisecondsSinceEpoch(startData.millisecondsSinceEpoch + dayNumber * 24 * 60 * 60 * 1000);String nowMoth = mothFormatFlag.format(dateTime);date.add(nowMoth);return date;}///获取前n天日期、后n天日期///传入starTime格式 2012-02-27 13:27:00 或者 "2012-02-27等....///dayNumber:从startTime往后面多少天你需要输出///format:获取到的日期格式。"yyyy年MM月dd" "yyyy-MM-dd" "yyyy年" "yyyy年MM月" "yyyy年\nMM月dd"  等等///使用:DateUtils.instance.getOldDate(startTime:"2019-07-11",dayNumber:10,format:"yyyy年MM月dd");///结果:2019年07月21static String getOldDateToStr(DateTime startData, int dayNumber, String format) {//记录往后每一天的时间搓,用来和最后一天到做对比。这样就能知道什么时候停止了。var mothFormatFlag = new DateFormat(format);var dateTime = new DateTime.fromMillisecondsSinceEpoch(startData.millisecondsSinceEpoch + dayNumber * 24 * 60 * 60 * 1000);String nowMoth = mothFormatFlag.format(dateTime);return nowMoth;}///获取前n天日期、后n天日期///传入starTime格式 2012-02-27 13:27:00 或者 "2012-02-27等....///dayNumber:从startTime往后面多少天你需要输出///format:获取到的日期格式。"yyyy年MM月dd" "yyyy-MM-dd" "yyyy年" "yyyy年MM月" "yyyy年\nMM月dd"  等等///使用:DateUtils.instance.getOldDate(startTime:"2019-07-11",dayNumber:10,format:"yyyy年MM月dd");///结果:2019年07月21static DateTime getOldDate(DateTime startTime, int dayNumber) {//记录往后每一天的时间搓,用来和最后一天到做对比。这样就能知道什么时候停止了。var dateTime = new DateTime.fromMillisecondsSinceEpoch(startTime.millisecondsSinceEpoch + dayNumber * 24 * 60 * 60 * 1000);return dateTime;}///startTime:输入其实时间的时间戳也可以。///dayNumber:时间段///输入时间格式static List<TimeData> getTimeStartTimeAndEndTime({startTime: int, dayNumber: int, format: String}) {var mDataList = List<TimeData>();//记录往后每一天的时间搓,用来和最后一天到做对比。这样就能知道什么时候停止了。int allTimeEnd = 0;//记录当前到个数(相当于天数)int currentFlag = 0;var mothFormatFlag = new DateFormat(format);while (dayNumber >= currentFlag) {TimeData timeData = new TimeData();var dateTime = new DateTime.fromMillisecondsSinceEpoch(startTime + currentFlag * 24 * 60 * 60 * 1000);String nowMoth = mothFormatFlag.format(dateTime);timeData.dataTime = nowMoth;timeData.week = dateTime.weekday;mDataList.add(timeData);currentFlag++;}return mDataList;}///获取当前月的最后一天。///我们能提供和知道的条件有:(当天的时间,)///timeSamp:时间戳 单位(毫秒)///format:想要的格式  "yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"static getEndNowMoth({format: String}) {var dataFormat = new DateFormat(format);var dateTime = DateTime.now();var dataNextMonthData = new DateTime(dateTime.year, dateTime.month + 1, 1);int nextTimeSamp =dataNextMonthData.millisecondsSinceEpoch - 24 * 60 * 60 * 1000;//取得了下一个月1号码时间戳var dateTimeeee = new DateTime.fromMillisecondsSinceEpoch(nextTimeSamp);String formatResult = dataFormat.format(dateTimeeee);return formatResult;}///获取当前月的第一天。///我们能提供和知道的条件有:(当天的时间,)///timeSamp:时间戳 单位(毫秒)///format:想要的格式  "yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"static getStartNowMoth({format: String}) {var dataFormat = new DateFormat(format);var dateTime = DateTime.now();var dataNextMonthData = new DateTime(dateTime.year, dateTime.month, 1);String formatResult = dataFormat.format(dataNextMonthData);return formatResult;}///获取下个月的第一天。///format:想要的格式  "yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"static getStartNextMoth({format: String}) {var dataFormat = new DateFormat(format);var dateTime = DateTime.now();var dataNextMonthData = new DateTime(dateTime.year, dateTime.month + 1, 1);String formatResult = dataFormat.format(dataNextMonthData);return formatResult;}///获取某一个月的最后一天。///我们能提供和知道的条件有:(当天的时间,)///timeSamp:时间戳 单位(毫秒)///format:想要的格式  "yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"static getEndMoth({timeSamp: int, format: String}) {var dataFormat = new DateFormat(format);var dateTime = new DateTime.fromMillisecondsSinceEpoch(timeSamp);var dataNextMonthData = new DateTime(dateTime.year, dateTime.month + 1, 1);int nextTimeSamp =dataNextMonthData.millisecondsSinceEpoch - 24 * 60 * 60 * 1000;//取得了下一个月1号码时间戳var dateTimeeee = new DateTime.fromMillisecondsSinceEpoch(nextTimeSamp);String formatResult = dataFormat.format(dateTimeeee);return formatResult;}///获取某一个月的最后一天。///我们能提供和知道的条件有:(当天的时间,)///timeSamp:时间戳 单位(毫秒)///format:想要的格式  "yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"static DateTime getEndMonthDate(int year, int month) {var dataFormat = new DateFormat();var dateTime = new DateTime.fromMillisecondsSinceEpoch(month);var dataNextMonthData = new DateTime(year, month + 1, 1);int nextTimeSamp =dataNextMonthData.millisecondsSinceEpoch - 24 * 60 * 60 * 1000;//取得了下一个月1号码时间戳var dateTimeeee = new DateTime.fromMillisecondsSinceEpoch(nextTimeSamp);String formatResult = dataFormat.format(dateTimeeee);return dateTimeeee;}///获取某一个月的最后一天。///我们能提供和知道的条件有:(当天的时间,)///timeSamp:传入的是时间格式///format:想要的格式  "yyyy年MM月dd hh:mm:ss"  "yyy?MM?dd  hh?MM?dd" "yyyy:MM:dd"static getEndMothFor({mothFormat: String, format: String}) {DateTime startData = DateTime.parse(mothFormat);var dataFormat = new DateFormat(format);var dateTime = new DateTime.fromMillisecondsSinceEpoch(startData.millisecondsSinceEpoch);var dataNextMonthData = new DateTime(dateTime.year, dateTime.month + 1, 1);int nextTimeSamp =dataNextMonthData.millisecondsSinceEpoch - 24 * 60 * 60 * 1000;//取得了下一个月1号码时间戳var dateTimeeee = new DateTime.fromMillisecondsSinceEpoch(nextTimeSamp);String formatResult = dataFormat.format(dateTimeeee);return formatResult;}// 获取星期static String getWeek(DateTime date) {var week = date.weekday;String w = '';switch (week.toString()) {case '1':w = '一';break;case '2':w = '二';break;case '3':w = '三';break;case '4':w = '四';break;case '5':w = '五';break;case '6':w = '六';break;case '7':w = '日';break;}return '周' + w.toString();}///获取本期起始和终止日期,上期起始和终止日期///返回时间由上期开始时间到本期结束时间,正序排列///传入lastDay Date:2021-02-20,period:7///返回[''2021/02/07 00:00:00',2021/02/13 23:59:59','2021/02/14 00:00:00','2021/02/20 23:59:59]///选择上期开始时间  [param1]///选择上期结束时间 [param2]///选择本期开始时间[param3]///选择本期结束时间[param4]static List<String> getParamStartAndEndData(DateTime lastLocalDay, int period) {DateTime lastDay = lastLocalDay;List<String> dataList = [];///选择上期开始时间String _priorStartTime =getOldDateToStr(lastDay, -period * 2 + 1, PARAM_FORMAT) + " 00:00:00";dataList.add(_priorStartTime);///上期结束时间String _priorEndTime =getOldDateToStr(lastDay, -period, PARAM_FORMAT) + " 23:59:59";// String _firstNowStr = getOldDateToStr(lastDay, -period, PARAM_FORMAT);dataList.add(_priorEndTime);///本期开始日期String _currentStartTime =getOldDateToStr(lastDay, -period + 1, PARAM_FORMAT) + " 00:00:00";dataList.add(_currentStartTime);///本期结束时间// String _currentEndTime = getOldDateToStr(lastDay, -1, PARAM_FORMAT);String _currentEndTime =DateFormat(PARAM_FORMAT).format(lastDay) + " 23:59:59";dataList.add(_currentEndTime);return dataList;}/// 返回当前时间的前一小时和前一天static List<String> getBeforeDayAndBeforeHour() {List<String> time = [];DateTime now = DateTime.now();/// 更改当前时间的时间格式time.add(DateUtils.getFormatDataString(now, 'yyyy-MM-dd'));/// 当前时间的前一天String _theDayBefore = DateUtils.getFormatDataString(now.add(new Duration(days: -1)), 'yyyy-MM-dd');time.add(_theDayBefore);/// 当前时间的前一小时String _theHourBefore =DateUtils.getFormatDataString(now.add(new Duration(hours: -1)), 'HH');time.add(_theHourBefore);/// 当前时间的小时String _hour = DateUtils.getFormatDataString(now, "HH");time.add(_hour);return time;}static String getCustomTimeZone() {int hour = DateTime.now().timeZoneOffset.inHours;if (hour.abs() < 10) {if (hour < 0)return "-0${hour.abs()}:00";elsereturn "+0$hour:00";} else {if (hour < 0)return "$hour:00";elsereturn "+$hour:00";}}
}class TimeData {String dataTime;int week;
}

有帮助到你的点赞、收藏和关注一下吧

需要更多教程,微信扫码即可

Flutter时间工具类封装相关推荐

  1. Redis工具类封装讲解和实战

    Redis工具类封装讲解和实战     简介:高效开发方式 Redis工具类封装讲解和实战         1.常用客户端 https://redisdesktop.com/download      ...

  2. 【JavaScript学习】JavaScript 常用工具类封装

    文章目录 1.JavaScript 常用工具类封装 (1)获得浏览器地址所有参数 (2)将json转为get参数 (3)格式校验工具类 (4)数组操作工具类 (5)表单取值工具类 (6)时间转换工具类 ...

  3. Redis工具类封装

    Redis工具类封装 使用redis也好几年了,总是拷贝来拷贝去的,这次干脆放在这把,每次来这拷贝,不用在工程里面找来找去了. /*** Redis工具类* @author Huangliniao* ...

  4. dateutil 日期计算_时间工具类DateUtil的使用

    ###前言 在Android开发过程中,我们经常会用到时间相关方法.这里我封装一个时间工具类`DateUtil`,以方便使用. 今天涉及内容: 1. DateUtil在MainActivity中的使用 ...

  5. IOS开发基础之音频工具类封装AVAudioPlayer

    IOS开发基础之音频工具类封装AVAudioPlayer 源码在我的主页下面 ,项目名称是AVAudioPlayer 关键性代码 工具类的封装 // // LJAudioTool.h // AVAud ...

  6. java8的时间工具类_JAVA8日期工具类

    /*** Java8日期时间工具类 * *@authorJourWon * @date 2020/12/13*/ public classLocalDateUtils {/*** 显示年月日时分秒,例 ...

  7. Java中 LocalDate、LocalTime、LocalDateTime三个时间工具类的使用介绍

    Java中 LocalDate.LocalTime.LocalDateTime三个时间工具类的使用介绍 一.背景: 之前在做项目的过程中,对日期时间类没有一个系统的了解,总是在用的时候去搜索一下,解决 ...

  8. java8彩蛋_随笔,JDK8的新时间工具类

    jdk8带来了新的时间工具类,主要有LocalDateTime(时间+日期) ,LocalDate(日期) 以及LocalTime(时间).下面来看看常用用法在新的工具类上如何使用. 1. 获取当前的 ...

  9. 基于jdk8 LocalDate系列API的全新实用时间工具类

    基于jdk8 LocalDate系列API的实用时间工具类, 已经经过多个项目的考验与完善, 包含个人心得体会 欢迎转载,转载请注明网址:https://blog.csdn.net/qq_419102 ...

最新文章

  1. morlet包络检波matlab,布里渊光纤传感系统中的信号处理的研究
  2. 弯曲传传感器 WWW.TE.COM
  3. 配置网口相机(大恒水星相机)
  4. php通用检测函数集合
  5. OceanBase如何解决支付宝数据库的高一致性
  6. pythongui选哪个方案好_谈谈python中GUI的选择
  7. 从流程上对rtmp协议经行总结
  8. 转载——java synchronized详解
  9. 2020诺奖预测出炉!“引文桂冠”奖今日公布,华人学者戴宏杰入选
  10. OpenCV之图像的遮挡与切分、合并(笔记06)
  11. js打开新窗口的两种方式
  12. 文件间调用变量(extern,include)[转]
  13. 模板题——快排、归并、二分
  14. cad直线和圆弧倒角不相切_建议收藏:史上最全CAD快捷键大全
  15. 工业自动化控制-组态王1
  16. 分析微信小程序生成二维码接口报错41030: invalid page hint
  17. Python代码——卫星天空图绘制
  18. 前端加密JS库—CryptoJS
  19. 百人研发团队的难题:研发管理、绩效考核、组织文化和OKR
  20. 企业微信接入第三方应用(以服务商身份)

热门文章

  1. 华为P40售价曝光:有点不敢相信
  2. 腾讯又双叒涨工资了!平均月薪已达7.27万?
  3. 江淮汽车涉嫌排放造假 罚款1.7亿
  4. 巨人网络辟谣史玉柱被警方带走:下午一直在上海总部开会
  5. 虚函数,虚基类 与纯虚函数 二
  6. mvc5 @html,如何在MVC 5中使用 HTML5 Viewer
  7. linux下C结构体初始化
  8. 语言谓词函数isprime_G?del完备性定理 —— 一阶谓词逻辑演绎系统 Part II
  9. 软考路:2021年系统架构设计师之心得
  10. 我的docker随笔25:一个测试用的镜像制作过程