macoo

记录收获的点点滴滴

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

日期格式化

 1 SimpleDateFormat:(将时间输出为指定格式)

import java.util.Date;
import java.text.SimpleDateFormat;
public class Demo
{
public static void main(String[] args)
{
Date now
=new Date();
SimpleDateFormat f
=newSimpleDateFormat("今天是"+"yyyy年MM月dd日 E kk点mm分");
System.out.println(f.format(now));

f
=new SimpleDateFormat("a hh点mm分ss秒");
System.out.println(f.format(now));
}
}

 

 

2 从字符串到日期类型的转换:

 

import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.text.*;
publicclass Demo
{
public static void main(String[] args)
{
String strDate
="2005年04月22日";
//注意:SimpleDateFormat构造函数的样式与strDate的样式必须相符
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd日");
//必须捕获异常 try
{
Date date
=simpleDateFormat.parse(strDate);
System.out.println(date);
}
catch(ParseException px)
{
px.printStackTrace();
}
}
}

 

3 将毫秒数换转成日期类型

 

import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.text.*;
public class Demo
{
public static void main(String[] args)
{
long now=System.currentTimeMillis();
System.out.println(
"毫秒数:"+now);
Date dNow
=new Date(now);
System.out.println(
"日期类型:"+dNow);
}
}

4 获取系统时期和时间,转换成SQL格式后更新到数据库

 

Date d=new Date(); //获取当前系统的时间
SimpleDateFormat s= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//格式化日期
String dateStr = s.format(d);
//转为字符串
使用RS更新数据库,仍然要用rs.updateString,而不是rs.updateDade。

rs.updateString(
"regtime",dateStr); //regtime字段为datetime类型的

 

日期常用操作

 

 

 

/**
* 取得指定月份的第一天
*
*
@param strdate String
*
@return String
*/
public String getMonthBegin(String strdate)
{
java.util.Date date
= parseFormatDate(strdate);
return formatDateByFormat(date,"yyyy-MM") + "-01";
}

/**
* 取得指定月份的最后一天
*
*
@param strdate String
*
@return String
*/
public String getMonthEnd(String strdate)
{
java.util.Date date
= parseFormatDate(getMonthBegin(strdate));
Calendar calendar
= Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH,
1);
calendar.add(Calendar.DAY_OF_YEAR,
-1);
return formatDate(calendar.getTime());
}

/**
* 常用的格式化日期
*
*
@param date Date
*
@return String
*/
public String formatDate(java.util.Date date)
{
return formatDateByFormat(date,"yyyy-MM-dd");
}

/**
* 以指定的格式来格式化日期
*
*
@param date Date
*
@param format String
*
@return String
*/
public String formatDateByFormat(java.util.Date date,String format)
{
String result
= "";
if(date != null)
{
try
{
SimpleDateFormat sdf
= new SimpleDateFormat(format);
result
= sdf.format(date);
}
catch(Exception ex)
{
LOGGER.info(
"date:" + date);
ex.printStackTrace();
}
}
return result;
}



/**
* 日期操作
*
*
@author xxx
*
@version 2.0 jdk1.4.0 tomcat5.1.0 * Updated Date:2005/03/10
*/
public class DateUtil {
/**
* 格式化日期
*
*
@param dateStr
* 字符型日期
*
@param format
* 格式
*
@return 返回日期
*/
public static java.util.Date parseDate(String dateStr, String format) {
java.util.Date date
= null;
try {
java.text.DateFormat df
= new java.text.SimpleDateFormat(format);
String dt
=Normal.parse(dateStr).replaceAll(
"-", "/");
if((!dt.equals(""))&&(dt.length()<format.length())){
dt
+=format.substring(dt.length()).replaceAll("[YyMmDdHhSs]","0");
}
date
= (java.util.Date) df.parse(dt);
}
catch (Exception e) {
}
return date;
}

public static java.util.Date parseDate(String dateStr) {
return parseDate(dateStr, "yyyy/MM/dd");
}

public static java.util.Date parseDate(java.sql.Date date) {
return date;
}

public static java.sql.Date parseSqlDate(java.util.Date date) {
if (date != null)
return new java.sql.Date(date.getTime());
else
return null;
}

public static java.sql.Date parseSqlDate(String dateStr, String format) {
java.util.Date date
= parseDate(dateStr, format);
return parseSqlDate(date);
}

public static java.sql.Date parseSqlDate(String dateStr) {
return parseSqlDate(dateStr, "yyyy/MM/dd");
}


public static java.sql.Timestamp parseTimestamp(String dateStr,
String format) {
java.util.Date date
= parseDate(dateStr, format);
if (date != null) {
long t = date.getTime();
return new java.sql.Timestamp(t);
}
else
return null;
}

public static java.sql.Timestamp parseTimestamp(String dateStr) {
return parseTimestamp(dateStr, "yyyy/MM/dd HH:mm:ss");
}

/**
* 格式化输出日期
*
*
@param date
* 日期
*
@param format
* 格式
*
@return 返回字符型日期
*/
public static String format(java.util.Date date, String format) {
String result
= "";
try {
if (date != null) {
java.text.DateFormat df
= new java.text.SimpleDateFormat(format);
result
= df.format(date);
}
}
catch (Exception e) {
}
return result;
}

public static String format(java.util.Date date) {
return format(date, "yyyy/MM/dd");
}

/**
* 返回年份
*
*
@param date
* 日期
*
@return 返回年份
*/
public static int getYear(java.util.Date date) {
java.util.Calendar c
= java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.YEAR);
}

/**
* 返回月份
*
*
@param date
* 日期
*
@return 返回月份
*/
public static int getMonth(java.util.Date date) {
java.util.Calendar c
= java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.MONTH) + 1;
}

/**
* 返回日份
*
*
@param date
* 日期
*
@return 返回日份
*/
public static int getDay(java.util.Date date) {
java.util.Calendar c
= java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.DAY_OF_MONTH);
}

/**
* 返回小时
*
*
@param date
* 日期
*
@return 返回小时
*/
public static int getHour(java.util.Date date) {
java.util.Calendar c
= java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.HOUR_OF_DAY);
}

/**
* 返回分钟
*
*
@param date
* 日期
*
@return 返回分钟
*/
public static int getMinute(java.util.Date date) {
java.util.Calendar c
= java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.MINUTE);
}

/**
* 返回秒钟
*
*
@param date
* 日期
*
@return 返回秒钟
*/
public static int getSecond(java.util.Date date) {
java.util.Calendar c
= java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.SECOND);
}

/**
* 返回毫秒
*
*
@param date
* 日期
*
@return 返回毫秒
*/
public static long getMillis(java.util.Date date) {
java.util.Calendar c
= java.util.Calendar.getInstance();
c.setTime(date);
return c.getTimeInMillis();
}

/**
* 返回字符型日期
*
*
@param date
* 日期
*
@return 返回字符型日期
*/
public static String getDate(java.util.Date date) {
return format(date, "yyyy/MM/dd");
}

/**
* 返回字符型时间
*
*
@param date
* 日期
*
@return 返回字符型时间
*/
public static String getTime(java.util.Date date) {
return format(date, "HH:mm:ss");
}

/**
* 返回字符型日期时间
*
*
@param date
* 日期
*
@return 返回字符型日期时间
*/
public static String getDateTime(java.util.Date date) {
return format(date, "yyyy/MM/dd HH:mm:ss");
}

/**
* 日期相加
*
*
@param date
* 日期
*
@param day
* 天数
*
@return 返回相加后的日期
*/
public static java.util.Date addDate(java.util.Date date, int day) {
java.util.Calendar c
= java.util.Calendar.getInstance();
c.setTimeInMillis(getMillis(date)
+ ((long) day) * 24 * 3600 * 1000);
return c.getTime();
}

/**
* 日期相减
*
*
@param date
* 日期
*
@param date1
* 日期
*
@return 返回相减后的日期
*/
public static int diffDate(java.util.Date date, java.util.Date date1) {
return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000));
}
}



Calendar now
= Calendar.getInstance();
int year = now.get(Calendar.YEAR);
int date = now.get(Calendar.DAY_OF_MONTH);
int month = now.get(Calendar.MONTH) + 1;
int hour = now.get(Calendar.HOUR);
int min = now.get(Calendar.MINUTE);
int sec = now.get(Calendar.SECOND);




import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;
/**
*
*/
public class ManageWeek {
//判断两个日期是否在同一周
boolean isSameWeekDates(Date date1, Date date2) {
Calendar cal1
= Calendar.getInstance();
Calendar cal2
= Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
if (0 == subYear) {
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
// 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
return false;
}


//产生周序列
public static String getSeqWeek(){
Calendar c
= Calendar.getInstance(Locale.CHINA);
String week
= Integer.toString(c.get(Calendar.WEEK_OF_YEAR));
if(week.length()==1)week = "0" + week;
String year
= Integer.toString(c.get(Calendar.YEAR));
return year+week;

}

//获得周一的日期
public static String getMonday(Date date){
Calendar c
= Calendar.getInstance();
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
}


//获得周五的日期
public static String getFriday(Date date){
Calendar c
= Calendar.getInstance();
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);
return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());


}

public static void main(String[] args){

}

}

 

posted on 2010-02-21 15:23  macoo  阅读(235)  评论(0)    收藏  举报