1.DateUtil:日期处理
日期字符串转换为Date类型
parse(dateString)
将各种格式的日期字符串转换为Date类型,示例:
var dte = DateUtil.parse(‘2010-01-01 00:00:00’);
高级用法 parse(dateString, timeoffset): 转换的同时,指定时区偏移量,示例:
// 东8区
var dte = DateUtil.parse('2010-01-01 00:00:00', 8);
// 0时区
var dte = DateUtil.parse('2010-01-01 00:00:00', 0);
使用第一种方式,会默认获取java的运行环境时区,获取方式
jinfo <PID> | grep user.timezone
获取日期格式
determineDateFormat(dateString)
获取日期格式,示例:
var format = DateUtil.determineDateFormat(‘2010-01-01 00:00:00’);
将时间戳按照指定格式转为日期字符串
timeStamp2Date(timestamp, format)
将时间戳按照指定格式转为日期字符串,示例:
var dteStr = DateUtil.timeStamp2Date(1592233019140, ‘yyyy-MM-dd HH:mm:ss’);
对日期的年月日时分秒进行加减运算
addYears/addMonths/addDays/addHours/addMinutes/addSeconds
对日期的年月日时分秒进行加减运算,示例:
var dte = DateUtil.addYears(new Date(), 1);
dte = DateUtil.addYears(dte, -1);
对日期的年月日时分秒进行比较运算
sameYear/sameMonth/sameDay/sameHour/sameMinute/sameSecond
对日期的年月日时分秒进行比较运算,示例:
if ( DataUtil.sameYear(new Date(), new Date()) ) {
...
}
日期比较
示例:
var dte1 = new Date();
var dte2 = new Date();
if(dte1.getTime() >= dte2.getTime()){
...
}
2.idGen:ID生成器
生成uuid
示例:
var uuid = idGen.uuid();
生成MongoDB ObjectId
示例:
var oid = idGen.objectId();
生成MongoDB ObjectId字符串部分
示例:
var oidStr = idGen.objectIdStr();
3.split_chinese:汉语分词工具
**split_chinese(String inputString, String language)**
参数说明
- inputString: 需要进行分词的字符串
- language: inputString的语言字体,只可以是以下几种
- 简体中文: CH_S
- 繁体中文: CH_T
- 香港繁体: HK_T
- 台湾繁体: TW_T
返回值
数组类型,表示分词后的结果集
var strs = split_chinese(“我是中国人”, “CH_S”);
4.networkUtil: 网络工具
获取第一张网卡的mac地址
示例:
var mac = networkUtil.GetAddress("mac");
获取ip地址
示例:
var ip = networkUtil.GetAddress("ip");
5.常用类型(HashMap, ArrayList, Date)
HashMap: 对象类型
示例:
var map = new HashMap();
map.put(“name”, “test”);
map.remove(“name”);
ArrayList: 数组类型
示例:
var list = new ArrayList();
list.add(“test1”);
list.remove(0);
Date: 日期类型
示例:
var dte = new Date();
var year = dte.getYear()+1900;
6.数据CRUD操作
对接Tapdata内建数据连接
- source: 操作源端的数据库
- target: 操作目标端的数据库
execute(Map executeObj): 数据库执行操作
返回值:布尔类型,表示操作结果(true - 成功,false - 失败)
executeObj参数说明
结构化数据库
- sql: 针对关系型数据库的sql执行语句
var result = source.execute({sql: “update test.user set name=’user001’ where id = 1”});
- sql: 针对关系型数据库的sql执行语句
MongoDB数据库
- database: 操作的数据库名称
- collection: 操作的集合名称
- op: 操作(insert/ update/ delete)
- filter: 更新或者删除的条件
- opObject: 新增、更新、删除的具体数据
- upsert: 是否采用MongoDB的upsert模式,不存在进行新增,存在则更新,默认:false
- multi: 是否更新多条记录,默认:false
var result = target.execute({
database: “test”,
collection: “user”,
op: “update”,
filter: {id: 1},
opObject: {name: “user001”, age: 20},
upsert: true
});
executeQuery(Map executeObj): 数据库查询操作
返回值:数组类型,表示查询的结果集
executeObj参数说明
结构化数据库
- sql: 查询语句
var users = source.executeQuery({sql: “select * from test.user where age>10”});
- sql: 查询语句
MongoDB
- database: 操作的数据库名称
- collection: 操作的集合名称
- filter: 更新或者删除的条件
- sort: 排序条件 (可选)
- limit: 限制输出条数(可选)
var users = target.executeQuery({ database: “test”, collection: “user”, filter: {age: {$gt: 10}}, sort: {age: -1}, limit: 10 });
call(String funcName, List
该方法只有结构化数据库源才能使用,可执行指定的数据库存储过程及自定义函数
返回值: 键值对类型, 根据存储过程定义的返回值,返回结果对象
参数说明
funcName: 存储过程/函数名称
- params: 传入的参数