当前位置: 技术问答>java相关
问大家一个关于 java 的时间输出格式问题!
来源: 互联网 发布时间:2015-02-17
本文导语: 就是我从 ORACLE 数据库中取出的数据怎样将它输出变为 年-月-日 如(01-11-05)或(2001-11-05) | // Format the current time. SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd"); Date current...
就是我从 ORACLE 数据库中取出的数据怎样将它输出变为 年-月-日 如(01-11-05)或(2001-11-05)
|
// Format the current time.
SimpleDateFormat formatter
= new SimpleDateFormat ("yyyy-MM-dd");
Date currentTime_1 = new Date();
String dateString = formatter.format(currentTime_1);
SimpleDateFormat formatter
= new SimpleDateFormat ("yyyy-MM-dd");
Date currentTime_1 = new Date();
String dateString = formatter.format(currentTime_1);
|
解析字符串
通过parse()方法,DateFormat能够以一个字符串创立一个Date对象。这个方法能抛出ParseException异常,所以你必须使用适当的异常处理技术。下面的例子程序通过字符串创建Date对象:
import java.util.*;
import java.text.*;
public class ParseExample {
public static void main(String[] args) {
String ds = "2000-11-1";
DateFormat df = DateFormat.getDateInstance();
try {
Date d = df.parse(ds);
}
catch(ParseException e) {
System.out.println("Unable to parse " + ds);
}
}
}
通过parse()方法,DateFormat能够以一个字符串创立一个Date对象。这个方法能抛出ParseException异常,所以你必须使用适当的异常处理技术。下面的例子程序通过字符串创建Date对象:
import java.util.*;
import java.text.*;
public class ParseExample {
public static void main(String[] args) {
String ds = "2000-11-1";
DateFormat df = DateFormat.getDateInstance();
try {
Date d = df.parse(ds);
}
catch(ParseException e) {
System.out.println("Unable to parse " + ds);
}
}
}
|
import java.text.*;
import java.util.*;
class formatdate
{
public formatdate()
{
Date d = new Date();
System.out.println(d.hashCode());
String sbf = new String("");
String sss = new String("yyyy-MM-dd 'at' kk-mm-ss ");
SimpleDateFormat sdf = new SimpleDateFormat(sss);
sbf = sdf.format(d);
System.out.println(sbf);
}
public static void main(String args[])
{
formatdate ddd = new formatdate();
}
}
import java.util.*;
class formatdate
{
public formatdate()
{
Date d = new Date();
System.out.println(d.hashCode());
String sbf = new String("");
String sss = new String("yyyy-MM-dd 'at' kk-mm-ss ");
SimpleDateFormat sdf = new SimpleDateFormat(sss);
sbf = sdf.format(d);
System.out.println(sbf);
}
public static void main(String args[])
{
formatdate ddd = new formatdate();
}
}
|
import java.text.*;
import java.util.*;
class TestDate
{
public static void main(String[] args)
{
Calendar tmpCalendar=Calendar.getInstance();
Date tmpTime=tmpCalendar.getTime();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String curTime=sdf.format(tmpTime);
System.out.println(curTime);
}
}
看一下这个程序,我相信你会找到结果的。
import java.util.*;
class TestDate
{
public static void main(String[] args)
{
Calendar tmpCalendar=Calendar.getInstance();
Date tmpTime=tmpCalendar.getTime();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String curTime=sdf.format(tmpTime);
System.out.println(curTime);
}
}
看一下这个程序,我相信你会找到结果的。
|
public static String GetDateStr(java.sql.Timestamp rDate, String rDateFormat) {
SimpleDateFormat lFormat;
lFormat = new SimpleDateFormat(rDateFormat);
gRtnStr = lFormat.format(rDate);
return gRtnStr;
}
SimpleDateFormat lFormat;
lFormat = new SimpleDateFormat(rDateFormat);
gRtnStr = lFormat.format(rDate);
return gRtnStr;
}
|
package tcl.util;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company:
* @author
* @version 1.0
* help
3.1.1 构造方法
Datetime类提供三个构造方法
3.1.1.1 Datetime(Calendar cale)
传递一个Calendar(一个日历类) 实例作为参数构造Datetim类的实例;
3.1.1.2 Datetime()
不带参数构造,但会自动以一个表示当前日历的Calendar类实例构造Datetime对象;
3.1.1.3 Datetime(String s)
传递一个形如yyyy-mm-dd hh24:mi:ss的字符串对象作为参数来构造Datetim对象,若字符串格式不对,则抛出一个RuntimeException异常。
3.1.2 可供其它类调用的公用方法
3.1.2.1 String toString()
把当前Datetime类的实例以字符串形式返回;
3.1.2.2 void check()
检查Datetime对象所表示的时间范围,必须在公元0年元月1日0时0分0秒到公元2500年元月1日0时0分0秒之间;
3.1.2.3 Date toDate()
返回Datetime对象所表示的日期的Date对象;
3.1.2.4 String convert(int i)
传递一个int型的变量作为参数,在它前面加0以字符形式返回;
3.1.2.5 int getYear()
返回当前Datetime对象所表示的日期的年份;
3.1.2.6 int getMonth()
返回当前Datetime对象所表示的日期的月份;
3.1.2.7 int getDay ()
返回当前Datetime对象所表示的日期的天;
3.1.2.8 int getHour ()
返回当前Datetime对象所表示的日期的小时;
3.1.2.9 int getMinute ()
返回当前Datetime对象所表示的日期的分;
3.1.2.10 int getSecond ()
返回当前Datetime对象所表示的日期的秒;
3.1.2.11 static String getCurrentDatetimeByString()
返回当前日期和时间的字符串形式表示;
3.1.2.12 static String getCurrentDateByString ()
返回当前日期的字符串形式表示;
3.1.2.13 static String getCurrentDateByDate ()
返回当前Date类型;
3.1.2.14 static String getStringFromDate(Date d)
把一个Date类型转换成为字符串的表示;
3.1.2.15 String getNoDeliCurrentDate(){
返回当前日期的yyyymmdd形式字符表示;
3.1.2.16 static String getDate ()
返回当前日期的yyyy-mm-dd形式字符表示;
3.1.2.17 Datetime addDays(int days)
返回当前Datetime对象所表示的日期再加上参数中的天数的Datetime对象,如addDays(-1)返回昨天的日期;
3.1.2.18 Datetime addMonths(int months)
返回当前Datetime对象所表示的日期再加上参数中的月数的Datetime对象,如addMonths (-1)返回上个月的日期;
3.1.2.19 Datetime addYears(int years)
返回当前Datetime对象所表示的日期再加上参数中的年数的Datetime对象,如addYears (-1)返回去年的日期;
3.1.2.20 Datetime addHours(int hours)
返回当前Datetime对象所表示的日期再加上参数中的小时数的Datetime对象,如addHours (-1)返回前一小时的日期;
3.1.2.21 Datetime addMinutes(int minutes)
返回当前Datetime对象所表示的日期再加上参数中的分钟数的Datetime对象,如addMinutes (-1)返回前一分钟的日期;
3.1.2.22 int getSeasonOfYear()
返回当前Datetime对象所表示的日期所在的月份的季度,如getSeasonOfYear ()返回3,表示现在是这一年中的第三季度;
3.1.2.23 int getWeekOfYear()
返回当前Datetime对象所表示的日期在当年中的第几周,如getWeekOfYear ()返回38,表示现在是今年中的第38周;
3.1.2.24 int getWeekOfMonth()
返回当前Datetime对象所表示的日期在当月中的第几周,如getWeekOfMonth ()返回4,表示现在是这个月中的第4周;
3.1.2.25 int getDayOfWeek()
返回当前Datetime对象所表示的日期在本周中的第几天,如getDayOfWeek ()返回4,表示现在是本周中的第4天,是星期三;
*/
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.lang.NumberFormatException;
public class Datetime {
private int year=0;
private int month=0;
private int day=0;
private int hour=0;
private int minute=0;
private int second=0;
public static final String datetimeFormat="yyyy-MM-dd HH:mm:ss";
public Datetime(Calendar cale){
setDatetime(cale);
}
public Datetime(){
Calendar now=Calendar.getInstance();
setDatetime(now);
}
public Datetime(String s)
throws NumberFormatException, LeaderQryRuntimeException
{
this();
try
{
if (s.length()>1)
{
this.year=Integer.parseInt(s.substring(0,4));
this.month=Integer.parseInt(s.substring(5,7));
this.day=Integer.parseInt(s.substring(8,10));
}
if (s.length()>10)
{
this.hour=Integer.parseInt(s.substring(11,13));
this.minute=Integer.parseInt(s.substring(14,16));
this.second=Integer.parseInt(s.substring(17,19));
}
else
{
this.hour=0;
this.minute=0;
this.second=0;
}
}
catch (Exception e)
{
throw new LeaderQryRuntimeException("error date format of string");
}
check();
}
public void Datetime(Date d){
Calendar calendar=Calendar.getInstance();
calendar.setTime(d);
setDatetime(calendar);
}
private void setDatetime(Calendar calendar){
this.year=calendar.get(Calendar.YEAR);
this.month=calendar.get(Calendar.MONTH)+1;
this.day=calendar.get(Calendar.DAY_OF_MONTH);
this.hour=calendar.get(Calendar.HOUR_OF_DAY);
this.minute=calendar.get(Calendar.MINUTE);
this.second=calendar.get(Calendar.SECOND);
}
public String toString() {//throws LeaderQryRuntimeException{
StringBuffer sb=new StringBuffer(19);
try{check();}
catch(Exception e){}
sb.append(convert(this.year));
sb.append("-");
sb.append(convert(this.month));
sb.append("-");
sb.append(convert(this.day));
sb.append(" ");
sb.append(convert(this.hour));
sb.append(":");
sb.append(convert(this.minute));
sb.append(":");
sb.append(convert(this.second));
return sb.toString();
}
private void check() throws LeaderQryRuntimeException{
if (this.year2500)
throw new LeaderQryRuntimeException("year is wrong");
if (this.month12)
throw new LeaderQryRuntimeException("month is wrong");
int flag=0;
if ((this.year%4)==0){
flag=1;
if (((this.year%100)==0)&&((this.year%400)!=0))
flag=0;
else
flag=1;
}
if (this.day28)
throw new LeaderQryRuntimeException("day is wrong");
else if(flag==1&&this.day>29)
throw new LeaderQryRuntimeException("day is wrong");
else if(this.day>28)
throw new LeaderQryRuntimeException("day is wrong");
if (this.hour23)
throw new LeaderQryRuntimeException("hour is wrong");
if (this.minute59)
throw new LeaderQryRuntimeException("minute is wrong");
if (this.second59)
throw new LeaderQryRuntimeException("second is wrong");
}
public Date toDate() throws LeaderQryRuntimeException{
String s=toString();
return getDateFromString(s);
}
private String convert(int i){
if (i0 && this.month3 && this.month6 && this.month9 && this.month
/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company:
* @author
* @version 1.0
* help
3.1.1 构造方法
Datetime类提供三个构造方法
3.1.1.1 Datetime(Calendar cale)
传递一个Calendar(一个日历类) 实例作为参数构造Datetim类的实例;
3.1.1.2 Datetime()
不带参数构造,但会自动以一个表示当前日历的Calendar类实例构造Datetime对象;
3.1.1.3 Datetime(String s)
传递一个形如yyyy-mm-dd hh24:mi:ss的字符串对象作为参数来构造Datetim对象,若字符串格式不对,则抛出一个RuntimeException异常。
3.1.2 可供其它类调用的公用方法
3.1.2.1 String toString()
把当前Datetime类的实例以字符串形式返回;
3.1.2.2 void check()
检查Datetime对象所表示的时间范围,必须在公元0年元月1日0时0分0秒到公元2500年元月1日0时0分0秒之间;
3.1.2.3 Date toDate()
返回Datetime对象所表示的日期的Date对象;
3.1.2.4 String convert(int i)
传递一个int型的变量作为参数,在它前面加0以字符形式返回;
3.1.2.5 int getYear()
返回当前Datetime对象所表示的日期的年份;
3.1.2.6 int getMonth()
返回当前Datetime对象所表示的日期的月份;
3.1.2.7 int getDay ()
返回当前Datetime对象所表示的日期的天;
3.1.2.8 int getHour ()
返回当前Datetime对象所表示的日期的小时;
3.1.2.9 int getMinute ()
返回当前Datetime对象所表示的日期的分;
3.1.2.10 int getSecond ()
返回当前Datetime对象所表示的日期的秒;
3.1.2.11 static String getCurrentDatetimeByString()
返回当前日期和时间的字符串形式表示;
3.1.2.12 static String getCurrentDateByString ()
返回当前日期的字符串形式表示;
3.1.2.13 static String getCurrentDateByDate ()
返回当前Date类型;
3.1.2.14 static String getStringFromDate(Date d)
把一个Date类型转换成为字符串的表示;
3.1.2.15 String getNoDeliCurrentDate(){
返回当前日期的yyyymmdd形式字符表示;
3.1.2.16 static String getDate ()
返回当前日期的yyyy-mm-dd形式字符表示;
3.1.2.17 Datetime addDays(int days)
返回当前Datetime对象所表示的日期再加上参数中的天数的Datetime对象,如addDays(-1)返回昨天的日期;
3.1.2.18 Datetime addMonths(int months)
返回当前Datetime对象所表示的日期再加上参数中的月数的Datetime对象,如addMonths (-1)返回上个月的日期;
3.1.2.19 Datetime addYears(int years)
返回当前Datetime对象所表示的日期再加上参数中的年数的Datetime对象,如addYears (-1)返回去年的日期;
3.1.2.20 Datetime addHours(int hours)
返回当前Datetime对象所表示的日期再加上参数中的小时数的Datetime对象,如addHours (-1)返回前一小时的日期;
3.1.2.21 Datetime addMinutes(int minutes)
返回当前Datetime对象所表示的日期再加上参数中的分钟数的Datetime对象,如addMinutes (-1)返回前一分钟的日期;
3.1.2.22 int getSeasonOfYear()
返回当前Datetime对象所表示的日期所在的月份的季度,如getSeasonOfYear ()返回3,表示现在是这一年中的第三季度;
3.1.2.23 int getWeekOfYear()
返回当前Datetime对象所表示的日期在当年中的第几周,如getWeekOfYear ()返回38,表示现在是今年中的第38周;
3.1.2.24 int getWeekOfMonth()
返回当前Datetime对象所表示的日期在当月中的第几周,如getWeekOfMonth ()返回4,表示现在是这个月中的第4周;
3.1.2.25 int getDayOfWeek()
返回当前Datetime对象所表示的日期在本周中的第几天,如getDayOfWeek ()返回4,表示现在是本周中的第4天,是星期三;
*/
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.lang.NumberFormatException;
public class Datetime {
private int year=0;
private int month=0;
private int day=0;
private int hour=0;
private int minute=0;
private int second=0;
public static final String datetimeFormat="yyyy-MM-dd HH:mm:ss";
public Datetime(Calendar cale){
setDatetime(cale);
}
public Datetime(){
Calendar now=Calendar.getInstance();
setDatetime(now);
}
public Datetime(String s)
throws NumberFormatException, LeaderQryRuntimeException
{
this();
try
{
if (s.length()>1)
{
this.year=Integer.parseInt(s.substring(0,4));
this.month=Integer.parseInt(s.substring(5,7));
this.day=Integer.parseInt(s.substring(8,10));
}
if (s.length()>10)
{
this.hour=Integer.parseInt(s.substring(11,13));
this.minute=Integer.parseInt(s.substring(14,16));
this.second=Integer.parseInt(s.substring(17,19));
}
else
{
this.hour=0;
this.minute=0;
this.second=0;
}
}
catch (Exception e)
{
throw new LeaderQryRuntimeException("error date format of string");
}
check();
}
public void Datetime(Date d){
Calendar calendar=Calendar.getInstance();
calendar.setTime(d);
setDatetime(calendar);
}
private void setDatetime(Calendar calendar){
this.year=calendar.get(Calendar.YEAR);
this.month=calendar.get(Calendar.MONTH)+1;
this.day=calendar.get(Calendar.DAY_OF_MONTH);
this.hour=calendar.get(Calendar.HOUR_OF_DAY);
this.minute=calendar.get(Calendar.MINUTE);
this.second=calendar.get(Calendar.SECOND);
}
public String toString() {//throws LeaderQryRuntimeException{
StringBuffer sb=new StringBuffer(19);
try{check();}
catch(Exception e){}
sb.append(convert(this.year));
sb.append("-");
sb.append(convert(this.month));
sb.append("-");
sb.append(convert(this.day));
sb.append(" ");
sb.append(convert(this.hour));
sb.append(":");
sb.append(convert(this.minute));
sb.append(":");
sb.append(convert(this.second));
return sb.toString();
}
private void check() throws LeaderQryRuntimeException{
if (this.year2500)
throw new LeaderQryRuntimeException("year is wrong");
if (this.month12)
throw new LeaderQryRuntimeException("month is wrong");
int flag=0;
if ((this.year%4)==0){
flag=1;
if (((this.year%100)==0)&&((this.year%400)!=0))
flag=0;
else
flag=1;
}
if (this.day28)
throw new LeaderQryRuntimeException("day is wrong");
else if(flag==1&&this.day>29)
throw new LeaderQryRuntimeException("day is wrong");
else if(this.day>28)
throw new LeaderQryRuntimeException("day is wrong");
if (this.hour23)
throw new LeaderQryRuntimeException("hour is wrong");
if (this.minute59)
throw new LeaderQryRuntimeException("minute is wrong");
if (this.second59)
throw new LeaderQryRuntimeException("second is wrong");
}
public Date toDate() throws LeaderQryRuntimeException{
String s=toString();
return getDateFromString(s);
}
private String convert(int i){
if (i0 && this.month3 && this.month6 && this.month9 && this.month