2023年3月

(1)java中日期类型:Date、Timestamp
(2)数据库中:Date、Timestamp
(3)字符串和Date之间的格式化转换:
SimpleDateFormat类方法:
format():把String格式化为Date;
parse():把String格式化为Date;

如果需要把Date格式化,最后仍然要转换成Date类型,方法:
先用format,再用parse,最终返回Date
(4)java.util.Date timeDate = dateFormat.parse(dateString);//util类型
java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//java.sql.Timestamp类
该Timestamp类型参数可以存放到Date类型参数的方法中(Timestamp是java.util.Date的子类)
(5)数据库:
MySQL使用的日期格式(摘自mysql必知必会):无论你什么时候指定一个日期,不管是插入或更新表值还是用WHERE子句进行过滤,日期必须为格式yyyy-MM-dd。虽然其他的日期格式可能也行,但这是首选的日期格式,因为它排除了多义性。
时间类型常用Date和timestamp
由于时间类型的转换,数据库中存放date类型,实体类使用String存储,操作起来更方便
(6)Servlet中sql语句保存Date类型,拼sql时,传入参数为原始的Date类型,可能会出错,格式化后或者转换成java.sql.Timestamp类型则正确
(7)数据库中时间增加,还有其他函数,如:
根据购车时间和排量查询所属车型的id:
SELECT * FROM cars_info
WHERE
'2008-10-01 00:00:00'>productiondatess AND '2008-10-01 00:00:00'
AND enginemodel='N52B30'
其中时间去掉" 00:00:00"也可以查询
(8)从数据库中读取时间数据出来

java.util.Date date;
Timestamp timestamp = resultSet.getTimestamp(i);
if (timestamp != null)
date = new java.util.Date(timestamp.getTime()));

==========

Java与数据库对应的日期类型 - CSDN博客
http://blog.csdn.net/qq_23052951/article/details/51627371

....|__java.util.Date
..........|__java.sql.Date /java.sql.Timestamp  /java.sql.Time
【父类】java.util.Date日期格式为:年月日时分秒
【子类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据]
【子类】java.sql.Time日期格式为:时分秒
【子类】java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)
针对不同的数据库选用不同的日期类型
·Oracle
的Date类型,只需要年月日,选择使用java.sql.Date类型

·MS Sqlserver和Mysql
数据库的DateTime类型,需要年月日时分秒,选择java.sql.Timestamp类型

------------------------------------------
四种对象内部均使用系统时间作为标准数据
·系统时间
:自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数,即格林尼治标准时间(GMT)

·本地时间
:根据时区不同打印出来的时间[当时区为GMT+0时,系统时间与本地时间相同]

我们使用的是以本地时间为参考标准的
------------------------------------------
生成日期对象 
方法一:
除了父类,三个子类均可通过给其发送valueOf()消息,生成所需格式的对象。
java.sql.Date sqlDate = java.sql.Date.valueOf("2010-08-20");
java.sql.Time time = java.sql.Time.valueOf("13:44:53");
java.sql.Timestamp time = java.sql.Timestamp.valueOf("2010-08-20 14:06:27.186");
方法二:
·java.util.Date——>java.sql.Date
new java.sql.Date(new java.util.Date().getTime());
new java.util.Date(new java.sql.Date().getTime());//此处IDE报错
·java.util.Date——>java.sql.Timestamp
new java.sql.Timestamp(new java.util.Date().getTime());//此处IDE报错
·java.util.Date——>java.sql.Time
new java.sql.Time(new java.util.Date().getTime());
·Timestamp timestamp = new Timestamp(System.currentTimeMillis());
------------------------------------------
我们可以使用DateFormat处理字符串来定义时间日期的格式
注:String都是先转换为java.util.Date,然后再转换成所需的格式
Calendar
Calendar calendar=Calendar.getInstance();
//获得当前时间,声明时间变量
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
month = month+1; //[0,11]
int date = calendar.get(Calendar.DATE);
String today = ""+year+"-"+month+"-"+date+"";
..................................
String to Date[java.sql.Date]
String to Time[java.sql.Timestamp]
..................................
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
//dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS", Locale.ENGLISH);//设定格式
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
// java.sql.Timestamp dateTime = new java.sql.Timestamp
(timeDate.getTime());//Timestamp类型


public classDateTest  {public static void main(String[] args) throwsParseException{try{   
String dateString
= "2010-08-20 12:00:00.125";
DateFormat dateFormat;
dateFormat
= new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS",Locale.ENGLISH);//设定格式 dateFormat.setLenient(false);
java.util.Date timeDate
= dateFormat.parse(dateString);//util类型 java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型,timeDate.getTime()返回一个long型 System.out.println(dateTime);
}
catch(Exception ex){
ex.printStackTrace();
}
}
}

===

解决eclipse下classes文件夹无法发布到tomcat的问题_Nautilus_新浪博客
http://blog.sina.com.cn/s/blog_484d8777010130n5.html

上午刚来,就更新了项目的svn,随后发布到tomcat下,奇怪的问题出现了,tomcat启动很简单就完成了,部署的项目不能被识别。看了一下发布目录WEB-INF下只有lib目录,其它如classes目录,web.xml文件一概不存在。不知道问题出在哪里?

经过排查,最后发现了问题出在eclipse的.classpath文件,里面有这样一条:
可以正常运行的项目是这样写的:
<classpathentry kind="output"
path="target/classes"/>
不能正常运行的项目的.classpath是这样写的:
<classpathentry kind="output"
path="WebContent/WEB-INF/classes"/>

修改之后就没有问题了。等待找出为什么?不知道是什么环节出的问题?看了项目在target和WEB-INF/下都有编译好的class文件。但为什么就不能指定后者呢?

====

==

tomcat发布慢的问题
--
进程中带有java的终结掉,再次启动eclipse.
--
将eclipse的自动编译class的功能去掉,不让eclipse自动编译class文件
每次写一些java代码后,停掉tomcat,手动编译一次,然后publish
频繁的热部署是会爆掉内存的,tomcat有这个问题,weblogic也有
所以 尽量避免频繁热部署,多一些手动编译,部署
---eclipse.ini
-vmargs
-Xms512m
-Xmx512m
-Xmn128m
-Dcom.sun.management.jmxremote
-XX:PermSize=96m
-XX:MaxPermSize=96m
-Xverify:none
-XX:+DisableExplicitGC
-Xnoclassgc
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=85

前面的话

随着HTML5的出现,input元素新增了多种类型,用以接受各种类型的用户输入。其中,button、checkbox、file、hidden、image、password、radio、reset、submit、text这10个是传统的输入控件,新增的有color、date、datetime、datetime-local、email、month、number、range、search、tel、time、url、week共13个

传统类型

text
定义单行的输入字段,用户可在其中输入文本

password
定义密码字段。该字段中的字符被掩码

file
定义输入字段和 "浏览"按钮,供文件上传

radio
定义单选按钮

checkbox
定义复选框

hidden
定义隐藏的输入字段

button
定义可点击按钮(多数情况下,用于通过JavaScript启动脚本)

image
定义图像形式的提交按钮

reset
定义重置按钮。重置按钮会清除表单中的所有数据

submit
定义提交按钮。提交按钮会把表单数据发送到服务器

text


type="text"表示一个文本输入框,它是默认的输入类型,是一个单行的控件,一般是一个带有内嵌框的矩形

password

type="password"表示一个密码输入框,它与文本输入框几乎一模一样,功能上唯一的不同的字母输入后会被隐藏,一般是一连串的点


默认样式

复制代码
chrome/safari/opera
padding: 1px 0px;
border: 2px inset;
firefox
padding: 2px;
border-width: 1px;
ie
padding: 2px 1px;
border-width: 1px;
复制代码

【默认宽高】

复制代码
chrome
height: 14px;
width: 148px;
safari
height: 15px;
width: 148px;
firefox
height: 17px;
width: 137px;
IE9+
height: 14px;
width: 147px;
IE8-
height: 16px;
width: 149px;
复制代码

【重置样式】

padding: 0;
border: 1px solid;

[注意]IE6浏览器设置的type="text"或"password"的input元素的宽高为包含padding和border的宽高

<演示框>点击下列相应
按钮可进行演示

【tips】模拟密码显示隐藏的功能

说明:现在很多软件在密码框右侧都有一个小眼睛,用于设置密码的显示和隐藏。通过更改input元素的type属性得以实现

复制代码
<style>body{margin:0;font-size:16px;
}#show{padding:0;border:1px solid black;height:20px;width:200px;line-height:20px;
}#set{display:inline-block;height:22px;background-color:rgba(0,0,0,0.5);color:white;line-height:18px;margin-left:-72px;cursor:pointer;
}
</style>
</head>
<body>
<inputid="show"type="password"maxlength="6">
<spanid="set">显示密码</span>
<script>set.onclick= function(){if(this.innerHTML== '显示密码'){this.innerHTML= '隐藏密码';
show.type
="text";
}
else{this.innerHTML= '显示密码';
show.type
="password";
}
}
</script>
复制代码

file

type="file"定义输入字段和"浏览"按钮,用于文件上传

【重置样式】

padding: 0;
border: 0;

【默认宽高】

复制代码
chrome
height: 21px;
width: 238px;
safari
height: 21px;
width: 238px;
firefox
height: 27px;
width: 222px;
IE9+
height: 21px;
width: 220px;
IE8
height: 16px;
width: 214px;
IE7-
height: 15px;
width: 210px;
复制代码

[注意]IE8-浏览器设置的type="file"的input元素的宽高为包含padding和border的宽高

该类型的input元素支持accept属性和multiple属性

关于accept属性的详细信息移步至此

关于multiple属性的详细信息移步至此

radio


type="radio"定义单选按钮,允许用户从给定数目的选择中选一个选项。同一组按钮,name值一定要一致

[注意]radio类型的input元素无法设置padding和border(除IE10-浏览器以外)

【默认样式】

复制代码
chrome/safari/opera/firefox
margin: 3px 3px 0 5px;
box-sizing:border-box;
ie11
margin: 3px 3px 3px 4px;
box-sizing:border-box;
ie10-
padding: 3px;
box-sizing:border-box;
复制代码

【默认宽高】

复制代码
chrome/safari/IE
height: 13px;
width: 13px;
firefox
height: 16px;
width: 16px;
复制代码

【重置样式】

padding: 0;
margin: 0;
border: 0;

checkbox


type="checkbox"定义多选按钮,允许用户在给定数目的选择中选择一个或多个选项。同一组的按钮,name取值一定要一致

[注意]checkbox类型的input元素无法设置padding和border(除IE10-浏览器以外)

【默认样式】

复制代码
chrome/safari/opera/firefox/ie11
margin: 3px 3px 3px 4px;
box-sizing:border-box;
ie10-
padding: 3px;
box-sizing:border-box;
复制代码

【默认宽高】

复制代码
chrome/safari/IE
height: 13px;
width: 13px;
firefox
height: 16px;
width: 16px;
复制代码

【重置样式】

padding: 0;
margin: 0;
border: 0;

type="radio"或"checkbox"的input元素支持checked属性

关于checked属性的详细情况移步至此

hidden

type="hidden"定义隐藏输入类型用于在表单中增加对用户不可见,但需要提交的额外数据

[注意]disabled属性无法与type="hidden"的input元素一起使用

//点击提交按钮后,隐藏域的内容test=12会包含在URL中<formname="form"action="#">
    <inputtype="hidden"name="test"value="12">
    <inputtype="submit">
</form>

button

type="button"的input输入类型定义可点击的按钮,但没有任何行为,常用于在用户点击时启动javascript程序

【button、submit、reset的默认样式】

复制代码
chrome/safari
padding: 1px 6px;
border: 2px outset buttonface;
box-sizing:border-box;
firefox
padding: 0 6px;
border: 3px outset;
box-sizing:border-box;
IE9+
padding: 3px 10px;
border: 1px outset;
box-sizing:border-box;
IE8
padding: 3px 10px;
border: 1px outset;
IE7-
padding: 1px 0.5px;
border: 1px outset;
复制代码

[注意]IE8-浏览器的box-sizing:content-box;而其他浏览器的box-sizing:border-box;

<inputtype="button"value="Click me"onclick="alert(1)" />    

type="button"的input输入类型和button元素有很多重叠特性

关于button元素的详细信息移步至此

image

type="image"的input输入类型定义图像形式的提交按钮,该类型可以设置width、height、src、alt这四个属性

用图片作为提交按钮会一起发送点击在图片上的x和y坐标,这样可以与服务器端图片地图结合使用,如果图片有name属性,也会随坐标发送

复制代码
<formaction="#">
    <inputname="test">
    <inputtype="image"name="imagesubmit" src="http://sandbox.runjs.cn/uploads/rs/26/ddzmgynp/submit.jpg"width="99"height="99"alt="测试图片">
</form>    
复制代码

submit

type="submit"的input输入类型用于创建提交表单的按钮

reset

type="reset"的input输入类型用于创建重置表单的按钮

<formaction="#"method="get">
    <input>
    <inputtype="reset"value="Reset" />
    <inputtype="submit"value="Submit" />
</form>

新增类型

color
定义调色板
tel
定义包含电话号码的输入域
email
定义包含email地址的输入域
url
定义包含URL地址的输入域
search
定义搜索域
number
定义包含数值的输入域
range
定义包含一定范围内数字值的输入域
date
定义选取日、月、年的输入域
month
定义选取月、年的输入域
week
定义选取周、年的输入域
time
定义选取月、年的输入域
datetime
定义选取时间、日 月、年的输入域(UTC时间)
datatime-local
定义选取时间、日 月、年的输入域(本地时间)

color

type="color"的input输入类型会创建一个调色板用来选择颜色,颜色值以URL编码后的十六进制数值提交。如黑色会以%23000000发送,其中%23是#的URL编码

[注意]safari和IE不支持该类型

【默认样式】

复制代码
chrome
width:44px;
height:23px;
border: 1px solid rgb(169,169,169);
padding: 1px 2px;
firefox
width:46px;
height:17px;
border: 3px solid rgb(169,169,169);
padding: 6px 0;
复制代码
<inputtype="color">

tel

type="tel"的input输入类型用于表示语义上的电话输入域,外观上与type="text"的input输入类型没有差异
,在手机端会唤出数字键盘

<formaction="#">
    <inputtype="tel"placeholder="请输入11位手机号码"pattern="\d{11}">    
    <inputtype="submit">
</form>

email

type="email"的input输入类型用于表示语义上的e-mail地址输入域,会自动验证email域的值,外观上与type="text"的input输入类型没有差异,在手机端会唤出
英文
键盘

email类型的input元素支持multiple属性

[注意]IE9-浏览器及safari浏览器不支持

<formaction="#" >
    <inputtype="email"name="email"multiple>
    <inputtype="submit">
</form>

url

type="url"的input输入类型用于表示语义上的url地址的输入域,会自动验证url域的值,外观上与type="text"的input输入类型没有差异

[注意]IE9-浏览器及safari浏览器不支持

<inputtype="url">

search

type="search"的input输入类型用于表示语义上的搜索框,外观上与type="text"的input输入类型没有差异

<inputtype="search">

number

type="number"的input输入类型用于处理数字输入,在手机端会唤出数字键盘

[注意]IE不支持该类型

【默认样式】

复制代码
chrome/safari
border: 2px inset;
padding-left: 1px;
firefox
border: 1px inset;
padding: 2px;
复制代码

【属性】

max
规定允许的最大值

min
规定允许的最小值

step
规定合法的数字间隔

value
规定默认值

[注意]属性的取值可为小数

<inputtype="number"min="0"max="10"step="0.5"value="6" />

range

type="range"的input输入类型用于处理包含在一定范围内的数字输入,类似于type="number"的input类型

[注意]IE9-不支持该类型

【默认样式】

复制代码
chrome/safari
margin: 2px;
firefox
border: 1px inset;
padding: 1px;
margin: 0 9.3px;
IE10+
padding: 17px 0 32px;
复制代码

【属性】

max
规定允许的最大值

min
规定允许的最小值

step
规定合法的数字间隔

value
规定默认值

[注意]属性的取值可为小数

<inputtype="range"min="0"max="10"step="0.5"value="6" />

[注意]如果不设置min和max属性,则默认min=0,max=100

HTML5拥有多个可供选取日期和时间的新输入类型

date

type="date"的input输入类型用于选取日、月、年

month

type="month"的input输入类型用于选取月、年

week

type="week"的input输入类型用于选取周、年

time

type="time"的input输入类型用于选取时、分

datetime

type="datetime"的input输入类型用于选取时、日、月、年(UTC时间)

datetime-local

type="datetime-local"的input输入类型用于选取时、日、月、年(本地时间)

[注意]IE和firefox这6种日期类型都不支持,chrome不支持datetime类型

【默认样式】

chrome/safari
border: 2px inset;
padding-left: 1px;
复制代码
<inputtype="date"><br><br>
<inputtype="month"><br><br>
<inputtype="week"><br><br>
<inputtype="time"><br><br>
<inputtype="datetime"><br><br>
<inputtype="datetime-local">
复制代码

要预设控件的日期和时间,可以用字符串设置value属性

【value属性格式】

复制代码
date                   YYYY-MM-DD
time   hh:mm:ss.s
datetime    YYYY-MM-DDThh:mm:ss:sZ
datetime-local YYYY-MM-DDThh:mm:ss:s
month      YYYY-MM
week    YYYY-Wnn
复制代码
复制代码
YYYY=年
MM=月
DD=日
hh=小时
mm=分钟
ss=秒
s=0.1秒
T=日期与时间之间的分隔符
Z=Zulu时间的时区
Wnn=W周数,从1月的第一周开始是1,直到52
复制代码

该类型的value属性格式还可以用在min和max的属性里,用来创建时间跨度;step可以用来设置移动的刻度

[注意]chrome不支持该类型的step设置

<inputtype="week"value="2015-W36"step="2"min="2015-W25"max="2015-W40">

好的代码像粥一样,都是用时间熬出来的

一 、一般分离


时间:2017年11月27日14:55:12 数据如下:

501陈**:田莨铺58
502陈
**:田莨铺58
503陈
**。六麻杨冲58元
504陈
**。石脚哗。200元
505陈
**。中垌。58元
506陈
**。中垌。58元
509陈
**。河浪。108元

要分成 序号可以排序,屋名可以排序,金额可以排序。所以要分成四列,后面并且有元字。

分列前进行清洗整理数据:

1、陈字之前 替换多一个空格,

2、先去掉元字

3、地址前后添加多一个空格,【可以用替换的方式】

分列:

把数据放在A列,ctrl+shift +向下箭头 全选一列。使用xls中的 :数据--分列

选择好分隔符号


排序:选择全部数据,自定义排序。选择第一个排序 再选择第二个排序--->完成!

二、只是统计一篇文本中的金额总数
,有其他数字干扰===2017年12月8日14:38:32

某一天需要帮忙核对数据的总数,而不需要进行太花哨的整理:

采用快速去除其他文字,留下数字的方法:(提取数据)

陈字 前面加上&  用陈替换成 &陈,

采用xls 数字-分列 分隔符 &

去除序号,这样就去除了干扰数字。把右边部分的放到新的xls,利用公式提取所有数字和小数点出来。注意是否还有其他干扰的数字,如果有要想办法去掉。

=LOOKUP(9E+307,--MID(
A1
,MIN(FIND({0;1;2;3;4;5;6;7;8;9},
A1
&1234567890)),ROW($1:$1022)))   数据放在A列,此公式放在B1单元格,
注意公式里面的A1(相对A1取值)
,下拉。即得到所有数据。

全选B列 即可得到总数,谢谢各位看官

===2017年12月13日10:01:23 用 nodepad++工具 中用正则替换掉中文

准备工作:先安装nodepad++ 工具,和到下方网站看看,获取你需要的正则表达式


在线正则表达式测试
http://tool.oschina.net/regex#

本人用第一个正则表达式 [\u4e00-\u9fa5] 替换有问题;选择第二个的正则表达式是:[^\x00-\xff]

实际操作:还是要先吧序号去掉,上面截图的设置,全部替换后:

替换后还会有英文的 :号存在,因为英文下的“:”不是双字节,也再次把:替换为空。

此时有很多空格存在,  编辑--空白操作--移除行首和行尾空格。把整列复制到xls统计。

有时候会反过来操作,要去掉数字保留文字 ,可以正则 \d 替换问空字符即可。

==待续》。。

拓展:需要配合正则快速剔除 文本 或数字技能,各种替换

整列复制 ctrl +左键+十字光标(放上去边界变成十字是左键拖动)

整列移动  shift +左键+十字光标(放上去边界变成十字是左键拖动)

====筛选出某一批序号在一个表格里面的位置(整批找出)

如果需要用到 用到countif 函数

WPS 表格筛选两列相同数据-完美-2017年11月1日更新 - 海蓝steven - 博客园
http://www.cnblogs.com/rogge7/p/5227890.html

MySql可视化工具MySQL Workbench使用教程 - 代码哥 - 博客园--讲得不错
https://www.cnblogs.com/daimage/archive/2012/02/25/2367534.html

分为三个主要功能模块:

Sql Development(Sql开发 相当于Sql2000中的查询分析器),

Data Modeling(数据库建模),

Server Administration(服务器管理 相当于Sql2000中的企业管理器)