git |
|
|
git config --global credential.helper store
|
kafkaOffsetMonitor |
|
|
java -cp kafkaOffsetMonitor-assembly-1.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --offsetStorage trident --stormZKOffsetBase /transactional --zk hyj1:2181 --trident_zk hyj1:2181 --port 7000 --refresh 10.seconds --retain 1.days
|
shell |
|
|
获取ip地址
netip=`ifconfig eth0 | grep "inet addr" | cut -d ":" -f 2 | cut -d " " -f 1 `
echo $netid
netip=`ifconfig | awk -F'addr:|Bcast' '/Bcast/{print $2}' `
netip=`hostname -i`
#!/bin/bash
BASEDIR=/export/App/bmncollector.m.jd.local
FEATURE=com.jd.app.pat.log.server.LogServer
ports=(${port1} ${port2} ${port3})
for port in ${ports[@]}
do
exist=$(ps -ef | grep $FEATURE | grep $port | grep -v 'grep'| awk '{print $2}')
if [ "$exist" != "" ];then
echo "port: $port is already on pid: $exist; please stop it first!"
continue
fi
setsid java -cp $CLASSPATH:/export/App/bmncollector.m.jd.local/config -server -Xms4096m -Xmx4096m -XX:MaxPermSize=1024m -XX:+UseParallelGC -XX:+UseParallelOldGC -DinstanceId=$port -Djava.ext.dirs=$BASEDIR/lib $FEATURE $port &
usleep 100000
exist=$(ps -ef | grep $FEATURE | grep $port | grep -v 'grep'| awk '{print $2}')
if [ "$exist" != "" ];then
echo "port: $port startup success on pid: $exist"
else
echo "port: $port startup failed."
fi
done
|
Python |
|
|
nohup $JSTORM_HOME/bin/jstorm $PROCESS >/dev/null 2>&1 &
>是输出重定向
/dev/null是系统黑洞,丢啥都行,不会满
2其实就是文件描述符,默认是0是标准输入,1是标准输出,2是标准错误。
>实际上是1>/dev/null的简写
2>&1表示把标准错误重定向到标准输出
最后一个&表示后台执行,可以通过jobs,fg,bg,Cntl+Z进行调度
nohup java -Xms512M -Xmx512M -Xmn256M -XX:PermSize=128m -XX:MaxPermSize=256m -cp /public/dcm/server3/DcmServer.jar dcm.DcmSystem >> nohup.out &
ps -ef|grep monitor_psr.sh|grep iboss2|grep ismp|grep -v grep|awk '{print $2}'|xargs kill -9
注*
A. $2表示第2列,即进程号PID; awk很强大,这里不再详细介绍;
B. grep -v grep是列出除开grep命令本身的进程,grep iboss2确认进程关键字
C. kill -9 强杀进程;
D. xargs 使用上一个操作的结果作为下一个命令的参数使用
本来就是针对字符的操作,无需使用XAGRS,直接管道即可.对于不是对字符进行操作的才需要用xargs
例如:
ps -ef|grep mm|xargs wc -l (WRONG)
ps -ef|grep mm|wc -l (RIGHT)
E. grep ismp加这个为了更加保险,确实此进程是ismp这个UNIX USER建立的进程,避免误杀进程;
对打开这个进程的用户ismp再进行一次搜索过滤,避免把别的用户的进程杀掉了
获取本机ip地址
#!/usr/bin/python
import socket
myname = socket.getfqdn(socket.gethostname( ))
myaddr = socket.gethostbyname(myname)
#print myname
print myaddr
|
ambari重装删除脚本 |
|
|
#!/bin/bash
rm -rf /etc/hadoop
rm -rf /etc/hbase
rm -rf /etc/zookeeper
rm -rf /var/run/hadoop
rm -rf /var/run/hbase
rm -rf /var/run/zookeeper
rm -rf /var/log/hadoop
rm -rf /var/log/hbase
rm -rf /var/log/zookeeper
rm -rf /usr/lib/flume
rm -rf /usr/lib/storm
rm -rf /var/lib/hadoop-hdfs
rm -rf /var/lib/hadoop-yarn
rm -rf /var/lib/hadoop-mapreduce
rm -rf /hadoop/hbase
rm -rf /hadoop/zookeeper
rm -rf /hadoop/hdfs
rm -rf /etc/hive
rm -rf /etc/storm
rm -rf /etc/hive-hcatalog
rm -rf /etc/tez
rm -rf /etc/hive-webhcat
rm -rf /etc/slider
rm -rf /etc/storm-slider-client
rm -rf /var/run/hive
rm -rf /var/run/storm
rm -rf /var/run/webhcat
rm -rf /var/run/hadoop-yarn
rm -rf /var/run/hadoop-mapreduce
rm -rf /var/log/hive
rm -rf /var/log/storm
rm -rf /var/log/hadoop-yarn
rm -rf /var/log/hadoop-mapreduce
rm -rf /var/lib/hive
rm -rf /hadoop/storm
userdel -rf hive
userdel -rf mapred
userdel -rf hbase
userdel -rf ambari-qa
userdel -rf zookeeper
userdel -rf tez
userdel -rf hdfs
userdel -rf storm
userdel -rf yarn
userdel -rf hcat
userdel -rf ams
|
storm使用 |
|
|
storm jar storm-starter-topologies-0.10.0.jar storm.starter.WordCountTopology WordCount -c nimbus.host=hyj3
|
Redis命令简明示例 |
http://www.2cto.com/database/201412/365782.html |
|
|
redis |
|
|
telnet 192.168.144.66 6379
set mykey "this is a test"
+OK
get mykey
$14
this is a test
strlen mykey
:14
append mykey "hello"
:19
get mykey
$19
this is a testhello
|
kafka |
|
|
bin/kafka-topics.sh --zookeeper hyj1:2181/ --alter --topic newgateway_log_1 --partitions 50
|
hive与hbase |
|
|
//hive创建hbase外部表,访问hbase中的表
create external table hive_ambarismoketest (key string,family map<string,string>)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" ="family:")
TBLPROPERTIES ("hbase.table.name" = "ambarismoketest");
//查询表中数据
select * from hive_ambarismoketest;
//查询列族中列数据
select family['col01'] from hive_ambarismoketest;
//扫描一行的多版本
get 'versiona','$HBASE_STATE_GLOBAL$',{COLUMN=>'x:x',TIMERANGE=>[1449993600000,1459997200000],VERSIONS=>1440}
//创建表
create 'minute-functionid-client-version', {NAME => 'x', VERSIONS => '525600'}
mdata表中,只put了一天的数据量,从2015-12-15 17:01:00 到 2015-12-16 17:00:00
1.所有function的数据
rowkey: '1functionids'
get 'mdata','1functionids' --每个function的最新总访问量
-------------------------------------------------------
2.每个client的数据
rowkey: 'function0'
get 'mdata','functionid0',{TIMERANGE=>[1449993600000,1459997200000],VERSIONS=>10} --function每个client的总访问量
--------------------------------------------------------
3.每个client版本的数据
get 'versionb','[order, m]',{TIMERANGE=>[1449993600000,145999720000000],VERSIONS=>10}
--function每个client的每个版本的总访问量
--------------------------------------------------------
|
maven打出依赖jar包 |
mvn |
|
mvn dependency:copy-dependencies -DoutputDirectory=lib
|
注册码 |
注册码 |
|
idea15: 注册方法: 只是在注册时选择 License server 填 http://idea.lanyus.com 点击 OK;
idea2016: http://idea.qinxi1992.cn
wmware12: 5A02H-AU243-TZJ49-GTC7K-3C61N
SecureCRT 7 序列号:
Name: hyj
Company: jd
Serial Number:03-50-306303
License Key: ADZVM2 AKTJKQ Y7BMG3 S9587X AA7AG1 SWEWEK FZ79AN HUEMHH
Issue Date: 12-06-2015
IntelliJ IDEA 2017破解方法
在激活的时候选择 license server;
输入如下地址激活:
http://idea.imsxm.com
|
http代理 |
|
|
172.17.36.127
std_squid
std_1qaz@WSX
|
mvn |
mvn |
Maven实战(二)构建简单Maven项目 |
mvn archetype:generate
-DgroupId=com.mycompany.app
-DartifactId=my-app-simple
-Dversion=1.0
-DarchetypeArtifactId=maven-archetype-quickstart
|
cmd命令 |
cmd |
|
netstat -aon|findstr "80" //查看80端口占用
tasklist|findstr "7136" //查看进程编号名称
taskkill /pid 7136 //结束进程
taskkill /im avp.exe
|
jQuery.js |
js |
|
//响应浏览器关闭刷新事件
jQuery(document).ready(function(){ jQuery(window).bind("beforeunload",function(){
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey) {
window.event.returnValue="是关闭而非刷新,确认退出吗?";
} else{
alert("是刷新而非关闭");
}
}); });
|
win7 |
win7 |
|
Aero被不小心关掉了,开起win7 Aero特效方法:打开Win7开始菜单,在开始搜索框中输入 aero, 选择查找并修复透明和其他视觉效果存在的问题
win7变成无线路由器:1. 以管理员身份运行命令提示符,输入netsh wlan set hostednetwork mode=allow ssid="W7AP" key=helloworld 2.启动服务里的Windows Firewall 3.本地连接>属性>共享,选择'允许其他网络用户通过此计算机Internet连接',在这里选我们新建的虚拟网卡'无线网络连接2'4.netsh wlan start hostednetwork
httptail http://gw.m.360buy.com/tomcatlog/catalina.out >log.txt 查看日志方法
|
sql常用 |
sql |
|
set statistics io on --设置统计表逻辑扫描数
sqlserver增加表及字段的说明信息: 命令:EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自增id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'logs', @level2type=N'COLUMN',@level2name=N'id' 菜单:可以在字段|属性|扩展属性|中添加
SQL Server 尝试打开或创建物理文件 'D:\project\DataBase\afs.mdf' 时, CREATE FILE 遇到操作系统错误 5(拒绝访问。)。解决方法:1.右键afs.mdf文件属性|安全|继续|给当前用户添加完全控制的权限,日志文件afs_log.ldf也要设置权限。2.在查询分析器中以sa身份登陆附加即可。
|
IE9 把地址栏和标签栏放在同一行 |
ie9 |
|
通过工具栏右键菜单,把标签栏独立成一行进行布局排放
|
测试url注入 |
java |
|
http://localhost:9080/questionnaireSurvey/categoryShowByTelecommunications.view?
caseId=9566403&orderId=94331187&createTime=2011-10-17 17:13:10</br>username<input type="text">password<input type="password"><script>alert(110)</script>
|
excel命令 |
excel |
|
="<dependency><groupId>"&A1&"</groupId><artifactId>"&D1&"</artifactId><version>"&G1&"</version></dependency>"
用&连接,用""表示单个双引号
|
maven中引用自已写的jar包 |
maven |
|
1.安装自定义jar包到maven库的命令
cd E:\projects\questionSub\lib
mvn install:install-file -DgroupId=com.jd.crm -DartifactId=crm-common -Dversion=1.0 -Dpackaging=jar -Dfile=crm-common-1.0-SNAPSHOT.jar
mvn install:install-file -DgroupId=com.jd.crm -DartifactId=crm-dao -Dversion=1.0 -Dpackaging=jar -Dfile=crm-dao-1.0-SNAPSHOT.jar
mvn install:install-file -DgroupId=com.jd.crm -DartifactId=crm-domain -Dversion=1.0 -Dpackaging=jar -Dfile=crm-domain-1.0-SNAPSHOT.jar
mvn install:install-file -DgroupId=com.jd.crm -DartifactId=crm-service -Dversion=1.0 -Dpackaging=jar -Dfile=crm-service-1.0-SNAPSHOT.jar
mvn install:install-file -DgroupId=com.jd.crm -DartifactId=crm-manager -Dversion=1.0 -Dpackaging=jar -Dfile=crm-manager-1.0-SNAPSHOT.jar
mvn install:install-file -DgroupId=com.jd.crm -DartifactId=crm-order -Dversion=1.0 -Dpackaging=jar -Dfile=order-client-1.1.1.jar
|
插件设置 |
eclipse |
|
eclipse:
svn: http://subclipse.tigris.org/update
adt: https://dl-ssl.google.com/android/eclipse/
jdk: window菜单/preferences/java/installedJres
tomcat: window菜单/preferences/tomcat/tomcat home directory
path: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\bin;
font window-preferences-General->Appearance->Colors and Fonts,打开basic,双击Test Font, 微软雅黑 不是@微软雅黑
CheckStyle: http://eclipse-cs.sourceforge.net/update
sonar: http://sonar4eclipse.googlecode.com/svn/trunk/org.sonar.ide.eclipse.update/
tomcat:
tomcat点start启动一闪就没了,可以在start.bat最后一行加上pause来查看错误,如果是java_home问题,可重新安装jdk并指定java_home
intellij:
maven: file菜单/settings/maven/添加maven home
jre: 项目右键/module settings/sdks/添加jdk home
file encoding: gbk
tomecat: gbk
compiler/java compiler/-target 1.6
要编译运行一个.java文件的环境变量配置: (JAVA_HOME: D:\Java\jdk1.6.0_18) (CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (第一个.表示当前的路径) (PATH: ;%JAVA_HOME%\bin) (注意:.java文件中不要加package,使用java命令运行时不要加.class扩展名,会导致报错)
【Ctrl+Shift+G】 Eclipse 查找类、方法和属性的引用的快捷键。
怎样设置豆沙色保护眼睛? 将色调(E)、饱和度(S)、亮度(L)分别设置为85、120、205
|
拦截404/500错误 |
xml |
|
web.xml中增加如下:
<error-page>
<error-code>404</error-code>
<location>/login.html</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/login.html</location>
</error-page>
|
url字符编码 |
regex |
|
[%7C|%3B|%24|%40|%27|%22|%3C|%3E|%28|%29|%2B|%2C|%5C|%23]
[| |; |$ |@ |' |" |< |> |( | )|+ |, |\ |# ]
[||;|$|@|'|"|<|>|(|)|+|,|\|#]
过滤所有url特殊字符,防sql注入及脚本注入
[|;$@'\"<>()+,\\\\#]|%7C|%3B|%24|%40|%27|%22|%3C|%3E|%28|%29|%2B|%2C|%5C|%23
|
生成cxf客户端命令 |
cxf |
|
D:\XiaoI\apache-cxf-2.3.0\bin>wsdl2java -p com.questionnaire.service.webservicec
lient.order -d D:\aaa -autoNameResolution http://localhost:8080/services/crmOr
der?wsdl
|
StringUtils.java |
java |
|
public static void main(String[] args) {
String str = "武汉市u洪j。山区 HuaZhos无可奈jhkk何花落去 大幅度,,nojgy College j武j昌jjjjjj分校jj。jkl";
URLEncoder.encode(addressChinese,"utf8"); //汉字编码
int byteLength = length(str);
char[] c = str.toCharArray();
int charslength = getCharsLength(c, 12);
System.out.println("getcharlength:" + charslength + "|charat" + str.charAt(charslength - 1));
int sublength = 50;
int subbegin = byteLength - sublength;
System.out.println("source:" + str + "|byteLength:" + byteLength + "|lenth:" + str.length() + "|subbegin:" + subbegin + "|sublength:" + sublength);
String substr2 = substring(str, subbegin, sublength);
System.out.println("------" + substr2 + "--------" + length(substr2));
}
public static String trims(String s) {
if (s == null) {
return "";
} else {
String t = s.replaceAll("^([\\s ])+|([\\s ])+$", "");
return t;
}
}
public static Boolean isBlank(String s) {
if (s == null || trims(s).equals("")) {
return true;
} else {
return false;
}
}
public static boolean isNumeric(String str) {
Pattern pattern = Pattern.compile("[0-9]+");
return pattern.matcher(str).matches();
}
public static int length(String s) {
if (str != null) {
return str.getBytes().length;
}
return 0;
}
public static String substring(String str, int srcPos, int specialCharsLength) {
if (str == null || "".equals(str) || specialCharsLength < 1) {
return "";
}
if (srcPos < 0) {
srcPos = 0;
}
if (specialCharsLength <= 0) {
return "";
}
char[] chars = str.toCharArray();
if (srcPos > chars.length) {
return "";
}
int begin = getCharsLength(chars, srcPos);//todo:add
str = str.substring(begin);
chars = str.toCharArray();
int charsLength = getCharsLength(chars, specialCharsLength);
return new String(chars, 0, charsLength);
}
private static int getCharsLength(char[] chars, int specialCharsLength) {
int count = 0;
int normalCharsLength = 0;
for (int i = 0; i < chars.length; i++) {
int specialCharLength = getSpecialCharLength(chars[i]);
if (count <= specialCharsLength - specialCharLength) {
count += specialCharLength;
normalCharsLength++;
} else {
break;
}
}
return normalCharsLength;
}
private static int getSpecialCharLength(char c) {
if (isLetter(c)) {
return 1;
} else {
return 2;
}
}
public static boolean isLetter(char c) {
int k = 0x80;
return c / k == 0 ? true : false;
}
//unicode编码解码
String t= UnicodeUtil.toUnicode("我",true);
String s= new UnicodeUtil().fromUnicode("\\u6211".toCharArray(),0,"\\u6211".length()-1,"".toCharArray()) ;
public static String formatUrl(String url){
if(url!=null){
return url.replaceAll("\"","%22").replaceAll("\\{","%7B").replaceAll("}","%7D").replaceAll("\\[","%5B").replaceAll("]","%5D");
}
return "";
}
|
css.css |
css |
|
div#example span { float : left;white-space:nowrap;margin-left:0;} //当前行若放不下,则自动换行
.jdDiaoca{width:720px;margin:0 auto;background:url(../images/diaocha_12.jpg) #fff repeat-y left;}
.jdDiaoca h2{width:720px;height:98px;background:url(../images/diaocha_05.jpg) repeat-x top;overflow:hidden;}
#header .objectsoft{
position: absolute;
left:160px;
top:56px;
}
#header{
height:107px;
background: url(../images/headerBG.png) repeat-x 0 0;
font-family:"微软雅黑",sans-serif;
}
|
StringUtils.js |
js |
|
//重定义系统函数
String.prototype.trim = function () {
if (this === undefined || this === null || this === "") {
return "";
} else {
return this.replace(/^\s*|\s*$/g, "");
}
};
[(].+[)]$ //匹配任意字符
//替换 url编码//表示只替换第一个,//g表示替换所有
encodeURI(videoUrl.replace(/\\/g,"/"));
function getStringByteLength(strTemp) {
var i, sum;
sum = 0;
for (i = 0; i < strTemp.length; i = i + 1) {
if ((strTemp.charCodeAt(i) >= 0) && (strTemp.charCodeAt(i) <= 255)) {
sum = sum + 1;
} else {
sum = sum + 2;
}
}
return sum;
}
function isNumber( str){
if(/^[0-9]+$/g.test(str)){
return true;
}else{
return false;
}
}
function replaceAllSpaceToPlus(parameter){
parameter= parameter.replace(/[\s*]/g, "+");
return parameter;
}
function saveStorage()
{
var data = new Object; //对象使用
data.name = document.getElementById('name').value;
data.email = document.getElementById('email').value;
data.tel = document.getElementById('tel').value;
data.memo = document.getElementById('memo').value;
var str = JSON.stringify(data); //json使用
localStorage.setItem(data.name,str); //webStorage使用
}
function findStorage(id)
{
var find = document.getElementById('find').value;
var str = localStorage.getItem(find);
var data = JSON.parse(str); //json使用
}
var db = openDatabase('MyData', '', 'My Database', 102400); //创建数据库对象 名称 版本号 描述 大小
function removeAllData()
{
for (var i =datatable.childNodes.length-1; i>=0; i--) //table的长度
{
datatable.removeChild(datatable.childNodes[i]);
}
var tr = document.createElement('tr'); //创建tr子元素
var th1 = document.createElement('th');
var th2 = document.createElement('th');
var th3 = document.createElement('th');
th1.innerHTML = '姓名';
th2.innerHTML = '留言';
th3.innerHTML = '时间';
tr.appendChild(th1);
tr.appendChild(th2);
tr.appendChild(th3);
datatable.appendChild(tr); //添加tr子元素
}
function showData(row)
{
var tr = document.createElement('tr');
var td1 = document.createElement('td');
td1.innerHTML = row.name;
var td2 = document.createElement('td');
td2.innerHTML = row.message;
var td3 = document.createElement('td');
var t = new Date();
t.setTime(row.time); //时间戳转时间
td3.innerHTML=t.toLocaleDateString()+" "+t.toLocaleTimeString();
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
datatable.appendChild(tr);
}
function showAllData()
{
db.transaction(function(tx) //执行数据库事务 sql
{
tx.executeSql('CREATE TABLE IF NOT EXISTS MsgData(name TEXT, message TEXT, time INTEGER)',[]);
tx.executeSql('SELECT * FROM MsgData', [], function(tx, rs)
{
removeAllData();
for(var i = 0; i < rs.rows.length; i++)
{
showData(rs.rows.item(i));
}
});
});
}
function addData(name, message, time)
{
db.transaction(function(tx)
{
tx.executeSql('INSERT INTO MsgData VALUES(?, ?, ?)',[name, message, time],function(tx, rs)
{
alert("成功保存数据!");
},
function(tx, error)
{
alert(error.source + "::" + error.message);
});
});
}
//跨域通信示例
//发送端
<script type="text/javascript">
// (1) 监听message事件
window.addEventListener("message", function(ev) {
// (2) 忽略指定URL地址之外的页面传过来的消息
if (ev.origin != "http://testcrm.360buy.com:8080") {
return;
}
// (3) 显示消息
alert("从"+ev.origin + "那里传过来的消息:\n\"" + ev.data + "\"");
}, false);
function hello()
{
var iframe = window.frames[0];
// (4) 传递消息
iframe.postMessage("你好", "http://testcrm.360buy.com:8080/receive.html");
}
</script>
</head>
<body>
<h1>跨域通信示例</h1>
<iframe width="400" src="http://testcrm.360buy.com:8080/receive.html" onload="hello()" >
</iframe>
//接收端
window.addEventListener("message", function(ev)
{
if (ev.origin != "http://questionsub.360buy.com:7080")
{
return;
}
document.body.innerHTML = "从"+ev.origin + "那里传来的消息。<br>\""+ ev.data + "\"";
// (5) 向主页面发送消息
ev.source.postMessage("你好。这里是" + this.location, ev.origin);
}, false);
//worker.js 线程内容
onmessage=function(event){
var intArray=new Array(100); //随机数组
//生成100个随机数
for(var i=0;i<100;i++)
intArray[i]=parseInt(Math.random()*100); //随机数 转换整数
//创建子线程
var worker=new Worker("worker2.js");
//把随机数组提交给子线程进行挑选工作
worker.postMessage(JSON.stringify(intArray));
worker.onmessage = function(event) {
//把挑选结果返回主页面
postMessage(event.data);
}
}
//js日期格式化
Date.prototype.format = function(format)
{
var o =
{
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format))
format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
return format;
}
function UtcToDate(num){
num+="";
if(num.split(" ").length<6){return num;}
var month = new Array();
month["Jan"] = "01"; month["Feb"] = "02"; month["Mar"] = "03"; month["Apr"] = "04"; month["May"] = "05"; month["Jun"] = "06";
month["Jul"] = "07"; month["Aug"] = "08"; month["Sep"] = "09"; month["Oct"] = "10"; month["Nov"] = "11"; month["Dec"] = "12";
str = num.split(" ");
var date = str[5] ;
var day=str[2]
if(day<10)day="0"+day;
date = date+ "-"+month[str[1]]+"-"+day+" "+str[3];
return date;
}
//定时器 js时间
setInterval(function () {
var date = new Date();
datetime.innerHTML = date.toLocaleString();
}, 1000);
alert('pattern' in document.createElement('input')); //判断浏览器是否支持pattern属性
|