Kettle使用 js 文件生成节假日表文件 附带2019-2020节假日文件
文章目录
- js 文件 (todo 标注的需要修改)
- kettle 操作
- 1. 生成记录
- 2.增加序列
- 3. 使 js 文件中的变量名跟序列的变量名对应上,并修改url
- 4.测试脚本文件并预览
- 5.获取需要的字段
- 6.使用excel输出 指定输出路径
- 7. 使用excel输出 指定输出字段
- 8. 执行 excel 文件内容如下(用的是19年的数据)
- 最后
js 文件 (todo 标注的需要修改)
//Script here
//todo : 初始化日期 需要进行修改
var initDate = "2019-01-01";//使用SimpleDateFormat对字符串类型的日期进行转化
var dateFormat = java.text.SimpleDateFormat("yyyy-MM-dd");
//指定开始时间 从哪一天开始
var startDate = dateFormat.parse(initDate);
//创建日历对象
var calendar = java.util.Calendar.getInstance();
//设置开始时间
calendar.setTime(startDate);
//累加日期
calendar.add(java.util.Calendar.DAY_OF_MONTH, rowNumber);
//请求的url
var url = null;
//建立的http链接
var httpConn = null;
//输入流的缓冲
var sb = null;
//获取当前时间的字符串
var date_value = dateFormat.format(calendar.getTime());
//获取代理键 20190101
var surrogateKey = date_value.replace("-", "");
//获取一年中的第几天
var dayOfYear = calendar.get(java.util.Calendar.DAY_OF_YEAR) + "";
//获取当月中的第几天
var dayOfMonth = calendar.get(java.util.Calendar.DAY_OF_MONTH) + "";
//判断是否为月的第一天
var isFirstOfMonth = dayOfMonth == 1;
//判断是否为月的最后一天
var isLastOfMonth = calendar.get(java.util.Calendar.DAY_OF_MONTH) == calendar.getActualMaximum(java.util.Calendar.DAY_OF_MONTH);//获取月的第几个星期
var weekOfMonth = calendar.get(java.util.Calendar.WEEK_OF_MONTH) + "";//获取月份
var month = calendar.get(java.util.Calendar.MONTH) + 1 + "";
//获取year
var year = calendar.get(java.util.Calendar.YEAR) + "";
//获取季度
var quarter = "";
if (month >= 1 && month < 4) {quarter = "1";
} else if (month < 7) {quarter = "2";
} else if (month < 10) {quarter = "3";
} else if (month <= 12) {quarter = "4";
}for (var i = 0; i < 10; i++) {//创建一个stringBuffer用来保存jsonsb = java.lang.StringBuffer();//读取文件var ins = null;//todo: 修改为自己的url 创建url,修改为自己的key//注册路径 可试用5000次// https://www.tianapi.com/signup.html?source=1210847019//下面两个API 可能失效//http://wow.kamisamak.com/api.php?date=2020-05-04(不一定能适用)//http://timor.tech/api/holiday/info/2018-03-02var urlStr = "http://api.tianapi.com/txapi/jiejiari/index?key=Youkey&date=" + date_value;url = java.net.URL(urlStr);var str = null;try {//调用APIins = java.io.BufferedReader(java.io.InputStreamReader(url.openStream(), "UTF-8"));//一行一行进行读入while ((str = ins.readLine()) != null) {sb.append(str);}break;} catch (err) {} finally {if (ins != null) {ins.close(); //关闭流}}
}var result = sb.toString();
var obj = JSON.parse(result);
var list = obj.newslist[0];
//获取周几
var week = list.weekday + "";
//是否为周一
var isMonday = week == 1;
//是否休息日
var is_dayoff = list.info == "双休日";
//是否是工作日
var is_work = list.info == "工作日";
//是否为节假日
var is_holiday = list.info == "节假日";
//日期类型
var date_type = "";
if (list.daycode == "0") {date_type = list.info
} else if (list.daycode == "1") {date_type = "节假日"
} else if (list.daycode == "2") {date_type = "双休日"
} else if (list.daycode == "3") {date_type = "调休日"
}
//季度名称
var quarter_name = "Q" + quarter;
//年份 - 名称季度
var year_quarter = year + "-Q" + quarter;
//年份 - 月份
var year_month = date_value.substring(0,7);
kettle 操作
1. 生成记录
2.增加序列
3. 使 js 文件中的变量名跟序列的变量名对应上,并修改url
4.测试脚本文件并预览
5.获取需要的字段
6.使用excel输出 指定输出路径
7. 使用excel输出 指定输出字段
8. 执行 excel 文件内容如下(用的是19年的数据)
最后
如果需要节假日表excel文件可以在评论区留言!!! 本人看到会及时回复!!!
提供链接如下:
https://download.csdn.net/download/hongchenshijie/12382251
Kettle使用 js 文件生成节假日表文件 附带2019-2020节假日文件相关推荐
- SSH项目中根据Hibernate的映射文件生成数据库表的方案:
1.首先在项目的根目录下配置:hibernate.cfg.xml文件:如下: <?xml version="1.0" encoding="UTF-8"?& ...
- Navicat可视化界面导入SQL文件生成数据库表
首先登陆navicat,如图 鼠标放在localhost2上,鼠标右击选择"新建数据库",如图出现如下界面! 填写数据库名, 点确定,数据库创建完成, 后双击数据库启用数据库,后鼠 ...
- python读取log文件生成图形表_python提取log文件内容并画出图表
之前在excel里面分析log数据,简直日了*了. 现在用python在处理日志数据. 主要涉及 matplotlib,open和循环的使用. 日志内容大致如下 2016-10-21 21:07:59 ...
- 您试图打开以前版本的Microsoft Office创建的文件。注册表策略设置已阻止此文件在该版本中打开的解决办法
在安装了 Microsoft Office 2003 Service Pack 3 (SP3) 后,系统阻止了某些类型的文件,按以下办法解决: Excel 要使 Excel 2003 可以打开早期 E ...
- mex文件生成c语言,用C语言编写MEX文件.doc
用C语言编写MEX文件用C语言编写MEX文件 用C语言编写MEX文件1.1 为什么要用C语言编写MEX文件MATLAB是矩阵语言,是为向量和矩阵操作设计的,一般来说,如果运算可以用向量或矩阵实现,其运 ...
- Vivado生成网表文件
如何操作? 以之前写的采用有限状态机实现序列检测模块为例,现在写了个两路"101"序列检测器模块(就是把原来的例化两个),该模块的结构如下: module fsm_test_top ...
- java maven 读取 dbf 文件 生成 表结构 示例代码
介绍 通过读取一个文件夹下所有dbf文件 然后生成sql 依赖 <dependency><groupId>com.github.albfernandez</groupId ...
- 命令编写注册表文件修改注册表项
命令编写注册表文件修改注册表项 1.何谓REG文件 REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中.利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的 ...
- mysql frm ibd 创建表_MySQL数据库实现从.frm文件和.ibd文件恢复数据表方法
MySQL中.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关. MySQL中.ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_pe ...
- 编写注册表文件修改注册表项
编写注册表文件修改注册表项 1.何谓REG文件 REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中.利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的操作 ...
最新文章
- 视频防抖 Opencv
- 深度强化学习实战:Tensorflow实现DDPG - PaperWeekly 第48期
- 速递|2021双11阿里云数据库技术快报
- SAP CRM webclient ui help link超链接的生成逻辑
- 作为一名程序员,我一直为中国的软件产业感到苦恼。
- 《ANTLR 4权威指南 》一导读
- 物联网将如何影响能源效率
- 休闲娱乐的计算机配置,入门APU主机配置 1199元双核APU家用娱乐电脑配置推荐
- TTL和CMOS区别RS232
- 基于STM32F405平台的多摩川协议编码器通讯过程(1)
- 密码领域专用语言 ZUC算法
- 正说:SAP HANA大裁员
- ipa在线安装搭建_五大在线苹果企业签名平台评测:微导流居然打败了蒲公英
- VS 2010 测试功能学习(七) - RnP与Coded UI自动化测试
- 【安全算法之SHA1】SHA1摘要运算的C语言源码实现
- 指针,指针,指针。。。
- 国企招聘属于事业单位吗
- 二三维一体化平台-FreeXGIS Studio
- 黑马全套Java教程(一)
- 如何应对高并发问题?