java实现纠正日期时间
来源:互联网 发布:大疆osmo软件 编辑:程序博客网 时间:2024/06/05 23:59
import java.util.StringTokenizer;
public class CorrectDateTime {
//本程序能纠正以下几种格式的日期时间
//2008年7月1日 2:3:3
//2008年7月1日 2:3:13
//2008年7月1日 2:30:13
//2008年7月1日 12:30:13
//2008年7月11日 12:30:13
//2008年10月11日 12:30:13
//2008年10月11日 12:30:13
//2008-7-1 2:3:3
//2008-7-1 2:3:13
//2008-7-1 2:30:13
//2008-7-1 12:30:13
//2008-7-11 12:30:13
//2008-10-11 12:30:13
//2008-10-11 12:30:13
/**
* 转换成 2008年08月01日 16:20:30 类型
* @param datetime 需要被转换的时间
*/
public static String correctChinese(String datetime){
datetime=datetime.trim();
datetime=datetime.replaceAll(" ", " ");
String newdatetime="";
StringTokenizer token=null;
if(datetime.contains("年")&&datetime.contains(":")){
datetime=datetime.replaceAll("年", ":");
datetime=datetime.replaceAll("月", ":");
datetime=datetime.replaceAll("日", ":");
datetime=datetime.replaceAll(" ", "");
token=new StringTokenizer(datetime,":");
int i=-1;
while (token.hasMoreTokens()) {
i++;
String temp=token.nextToken();
if(i==0){
newdatetime=temp+"年";
}
else if(i==1){
if(newdatetime.length()==2){
newdatetime+=temp+"月";
}
else{
newdatetime+=0+temp+"月";
}
}
else if(i==2){
if(newdatetime.length()==2){
newdatetime+=temp+"日 ";
}
else{
newdatetime+=0+temp+"日 ";
}
}
else if(i==3){
if(newdatetime.length()==2){
newdatetime+=temp+":";
}
else{
newdatetime+=0+temp+":";
}
}
else if(i==4){
if(newdatetime.length()==2){
newdatetime+=temp+":";
}
else{
newdatetime+=0+temp+":";
}
}
else if(i==5){
if(newdatetime.length()==2){
newdatetime+=temp;
}
else{
newdatetime+=0+temp;
}
}
}
if(i==4){
newdatetime=newdatetime+":00";
}
}
if(datetime.contains("-")&&datetime.contains(":")){
datetime=datetime.replaceAll("-", ":");
token=new StringTokenizer(datetime,": ");
int i=-1;
while (token.hasMoreTokens()) {
i++;
String temp=token.nextToken();
if(i==0){
newdatetime=temp+"年";
}
else if(i==1){
if(newdatetime.length()==2){
newdatetime+=temp+"月";
}
else{
newdatetime+=0+temp+"月";
}
}
else if(i==2){
if(newdatetime.length()==2){
newdatetime+=temp+"日 ";
}
else{
newdatetime+=0+temp+"日 ";
}
}
else if(i==3){
if(newdatetime.length()==2){
newdatetime+=temp+":";
}
else{
newdatetime+=0+temp+":";
}
}
else if(i==4){
if(newdatetime.length()==2){
newdatetime+=temp+":";
}
else{
newdatetime+=0+temp+":";
}
}
else if(i==5){
if(newdatetime.length()==2){
newdatetime+=temp;
}
else{
newdatetime+=0+temp;
}
}
}
if(i==4){
newdatetime=newdatetime+":00";
}
}
return newdatetime;
}
/**
* 转换成 2008-08-01 16:20:30 类型
* @param datetime 需要被转换的时间
*/
public static String correctEnglish(String datetime){
datetime=datetime.replaceAll(" ", " ");
datetime=datetime.trim();
String newdatetime="";
if(datetime.contains("年")&&datetime.contains(":")){
datetime=datetime.replaceAll("年", ":");
datetime=datetime.replaceAll("月", ":");
datetime=datetime.replaceAll("日", ":");
datetime=datetime.replaceAll(" ", "");
String temp[]=datetime.split(":");
for (int i = 0; i < temp.length; i++) {
if(i<3){
if(temp[i].length()==4){
newdatetime=temp[i];
}
else if(temp[i].length()==2){
newdatetime+="-"+temp[i];
}
else if(temp[i].length()==1){
newdatetime+="-"+0+temp[i];
}
}
else{
if(temp[i].length()==2){
newdatetime+=":"+temp[i];
}
else if(temp[i].length()==1){
newdatetime+=":"+0+temp[i];
}
}
}
if(temp.length<6){
newdatetime+=":00";
}
newdatetime=newdatetime.replaceFirst(":", " ");
}
else if(datetime.contains("-")&&datetime.contains(":")){
int front=datetime.indexOf(" ");
int behind=datetime.lastIndexOf(" ");
String date=datetime.substring(0,front);
String time=datetime.substring(behind+1);
String newdate="";
String newtime="";
StringTokenizer token=new StringTokenizer(date,"-");
while (token.hasMoreTokens()) {
String temp=token.nextToken();
if(temp.length()==4){
newdate=temp;
continue;
}
else if(temp.length()==2){
newdate+="-"+temp;
continue;
}
else{
newdate+="-"+0+temp;
}
}
String timeTemp[] = time.split(":");
if (timeTemp.length == 3) {
if (timeTemp[0].length() == 2) {
newtime = timeTemp[0];
} else {
newtime = 0 + timeTemp[0];
}
if (timeTemp[1].length() == 2) {
newtime += ":" + timeTemp[1];
} else {
newtime += ":0" + timeTemp[1];
}
if (timeTemp[2].length() == 2) {
newtime += ":" + timeTemp[2];
} else {
newtime += ":0" + timeTemp[2];
}
} else {
if (timeTemp[0].length() == 2) {
newtime = timeTemp[0];
} else {
newtime = 0 + timeTemp[0];
}
if (timeTemp[1].length() == 2) {
newtime += ":" + timeTemp[1];
} else {
newtime += ":0" + timeTemp[1];
}
newtime += ":00";
}
newdatetime = newdate + " " + newtime;
}
return newdatetime;
}
public static void main(String[] args) {
String time="2008-7-1 2:3:3";
System.out.println(CorrectDateTime.correctChinese(time));
System.out.println(CorrectDateTime.correctEnglish(time));
}
}
- java实现纠正日期时间
- Java GUI实现的日期时间选择器
- java 日期时间 ,实现sybase dateadd函数
- Excel日期/时间存储数值转换为具体日期/时间(java实现)
- java时间日期方法
- Java日期时间处理
- JAVA格式化时间日期
- java时间日期
- java日期时间小结
- java时间日期计算方法
- JAVA日期时间小结
- java时间日期
- JAVA日期时间小结
- JAVA日期与时间
- JAVA日期时间小结
- Java日期时间处理
- JAVA格式化日期时间
- java时间日期函数
- 第三章 标准库类型
- 小数格式化
- 监听会话ID
- 大型互联网网站架构心得
- Open File and Open Path
- java实现纠正日期时间
- 虚拟机VMware Workstation的常见使用总结
- 无法以scott/tiger登录Oracle 10g的解决方法
- 脚本语言介绍
- JavaScript中innerText,innerHTML,outerText,outerHTML使用心得和区别
- 使用prototype中的ajax,无法得到Session值
- 【转】《致新员工书》
- VC开发小技巧20个
- 互联网进化力量向搜索引擎举起了砍刀