java中,date类型,有的显示是Mon Jul 15 14:27:02 CST 2013,有的显示是2013/7/15?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中,date类型,有的显示是Mon Jul 15 14:27:02 CST 2013,有的显示是2013/7/15?相关的知识,希望对你有一定的参考价值。
我想知道怎么相互转换的?都是date类型,这些是debug跟的时候发现的,我应该怎么把Mon Jul 15 14:27:02 CST 2013格式转换成2013/7/15?都是Date类型
第一个图片就是2013-07-17格式的Date类型
第二个图片就是Mon Jul 15 14:27:02 CST 2013格式的Date类型
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CommonDateParseUtil
public static final String ENG_DATE_FROMAT = "EEE, d MMM yyyy HH:mm:ss z";
public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
public static final String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm";
public static final String YYYY_MM_DD = "yyyy-MM-dd";
public static final String YYYY = "yyyy";
public static final String MM = "MM";
public static final String DD = "dd";
/**
* @param date
* @return
* @作者 王建明
* @创建日期 2012-7-13
* @创建时间 下午12:22:40
* @描述 —— 格式化日期对象
*/
public static Date date2date(Date date, String formatStr)
SimpleDateFormat sdf = new SimpleDateFormat(formatStr);
String str = sdf.format(date);
try
date = sdf.parse(str);
catch (Exception e)
return null;
return date;
/**
* @param date
* @return
* @作者 王建明
* @创建日期 2012-7-13
* @创建时间 下午12:24:19
* @描述 —— 时间对象转换成字符串
*/
public static String date2string(Date date, String formatStr)
String strDate = "";
SimpleDateFormat sdf = new SimpleDateFormat(formatStr);
strDate = sdf.format(date);
return strDate;
/**
* @param date
* @return
* @作者 王建明
* @创建日期 2012-7-13
* @创建时间 下午12:24:19
* @描述 —— sql时间对象转换成字符串
*/
public static String timestamp2string(Timestamp timestamp, String formatStr)
String strDate = "";
SimpleDateFormat sdf = new SimpleDateFormat(formatStr);
strDate = sdf.format(timestamp);
return strDate;
/**
* @param dateString
* @param formatStr
* @return
* @作者 王建明
* @创建日期 2012-7-13
* @创建时间 下午1:09:24
* @描述 —— 字符串转换成时间对象
*/
public static Date string2date(String dateString, String formatStr)
Date formateDate = null;
DateFormat format = new SimpleDateFormat(formatStr);
try
formateDate = format.parse(dateString);
catch (ParseException e)
return null;
return formateDate;
/**
* @param date
* @return
* @作者 王建明
* @创建日期 2012-10-10
* @创建时间 上午09:18:36
* @描述 —— Date类型转换为Timestamp类型
*/
public static Timestamp date2timestamp(Date date)
if (date == null)
return null;
return new Timestamp(date.getTime());
/**
* @return
* @作者 王建明
* @创建日期 2012-9-13
* @创建时间 下午05:02:57
* @描述 —— 获得当前年份
*/
public static String getNowYear()
SimpleDateFormat sdf = new SimpleDateFormat(YYYY);
return sdf.format(new Date());
/**
* @return
* @作者 王建明
* @创建日期 2012-9-13
* @创建时间 下午05:03:15
* @描述 —— 获得当前月份
*/
public static String getNowMonth()
SimpleDateFormat sdf = new SimpleDateFormat(MM);
return sdf.format(new Date());
/**
* @return
* @作者 王建明
* @创建日期 2013-01-24
* @创建时间 08:41:47
* @描述 —— 获得当前日期中的日
*/
public static String getNowDay()
SimpleDateFormat sdf = new SimpleDateFormat(DD);
return sdf.format(new Date());
/**
* @param time
* @return
* @作者 王建明
* @创建日期 2012-6-17
* @创建时间 上午10:19:31
* @描述 —— 指定时间距离当前时间的中文信息
*/
public static String getLnow(long time)
Calendar cal = Calendar.getInstance();
long timel = cal.getTimeInMillis() - time;
if (timel / 1000 < 60)
return "1分钟以内";
else if (timel / 1000 / 60 < 60)
return timel / 1000 / 60 + "分钟前";
else if (timel / 1000 / 60 / 60 < 24)
return timel / 1000 / 60 / 60 + "小时前";
else
return timel / 1000 / 60 / 60 / 24 + "天前";
参考技术A 没有任何格式的日期直接打印出的就是这种形式:Mon Jul 15 14:27:02 CST 2013
其他日期形式都需要通过格式化来完成
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd "); //此处日期格式可以随便填写
sdf.format(new Date()); //此处获得格式化后的日期字符串追问
sdf.format(new Date())这个返回是一个string类型的,Date类型的显示格式不能转换吗?只能以string类型的形式打印吗?
追答直接打印日期就是Mon Jul 15 14:27:02 CST 2013 这样的格式吧
追问我想直接打印出"yyyy-MM-dd "这种格式的可以吗?
追答这不行 必须格式化后才能打印出这样的格式
参考技术B String returnValue = "";private String datePattern = "yyyy/MM/dd";
SimpleDateFormat df = new SimpleDateFormat(datePattern);
returnValue = df.format(aDate);追问
我想问的是Date类型System.out.println(aDate);直接输出date类型,可以出现"yyyy/MM/dd"
这种格式吗?returnValue是string的
不能。只能转换。
本回答被提问者和网友采纳 参考技术C SimpleDateFormat formator = new SimpleDateFormat(yyyy/MM/dd);formator.format(new Date());追问
Date类型直接显示yyyy/MM/dd这种格式,可以吗?
追答Java毕竟是米国人写的,Date默认的时间格式就是“Mon Jul 15 14:27:02 CST 2013”,必须要转一下
oracle中的to_date函数
在oracle中使用sqlplus对于一个date类型的字段为什么可以用select * from tbl where fdate=to_date('07JUL11'),不是应该写成to_date('07JUL11', 'DDMONYY')?难道DDMONYY是默认格式?谢谢!
不用管这个DDMONYY格式了to_date现在功能很强,你的07JUL11是可以直接认出来的格式,要是你写070711也是可以的直接认对的
070711默认为11年7月7日,这个做例子不容易表达
比如,你写070611,oracle默认为是11年6月7日
你如果想表达的时间是7月6日,那就要加to_date了,to_date('070611','mmDDYY')才是7月6日
大概就是这样了 参考技术A 是的,
oracle 日期类型的默认格式可以从 nls_database_parameters中查到 参考技术B to_date('07JUL11')能直接用? 参考技术C to_date('07JUL11', 'DDMMYY')?
以上是关于java中,date类型,有的显示是Mon Jul 15 14:27:02 CST 2013,有的显示是2013/7/15?的主要内容,如果未能解决你的问题,请参考以下文章