Java如何获取Date类型且格式为yyyy-mm-dd的日期数据?

我现在用:SimpleDateFormatsdf=newSimpleDateFormat("yyyy-mm-dd");Datedate=newDate();sdf.for... 我现在用:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
Date date=new Date();
sdf.format(date);
可以获得格式如“yyyy-mm-dd”的日期数据,但类型为String.
如何保持格式不变,但类型为Date?
展开
 我来答
芭瑞丝猫CT
推荐于2019-09-10 · TA获得超过11.8万个赞
知道答主
回答量:90
采纳率:58%
帮助的人:4.1万
展开全部

@return返回长时间格式 yyyy-MM-dd HH:mm:ss
*/  public static Date getSqlDate() {
Date sqlDate = new java.sql.Date(new Date().getTime());
return sqlDate;  }  
/**
* 获取现在时间

*
* @return返回长时间格式 yyyy-MM-dd HH:mm:ss
*/  public static Date getNowDate() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime);
ParsePosition pos = new ParsePosition(8);
Date currentTime_2 = formatter.parse(dateString, pos);
return currentTime_2;  }

帐号已注销
2021-06-21 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:161万
展开全部

@return返回长时间格式 yyyy-MM-dd HH:mm:ss

*/  public static Date getSqlDate() {

Date sqlDate = new java.sql.Date(new Date().getTime());

return sqlDate;  }  

/**

* 获取现在时间

@return返回长时间格式 yyyy-MM-dd HH:mm:ss

*/  public static Date getNowDate() {

Date currentTime = new Date();

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String dateString = formatter.format(currentTime);

ParsePosition pos = new ParsePosition(8);

java.sql 类 Date

java.lang.Object

java.util.Date

java.sql.Date

所有已实现的接口:

Serializable,Cloneable,Comparable<Date>

public class Dateextends Date

概述:一个包装了毫秒值的瘦包装器 (thin wrapper),它允许 JDBC 将毫秒值标识为 SQL DATE 值。毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数。

为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将小时、分钟、秒和毫秒设置为与该实例相关的特定时区中的零来“规范化”。

以上内容参考:百度百科-date

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友67bed773
推荐于2019-08-13 · TA获得超过1.1万个赞
知道小有建树答主
回答量:71
采纳率:100%
帮助的人:3.1万
展开全部

第一种方法:

/**
*将字符串格式yyyyMMdd的字符串转为日期,格式"yyyy-MM-dd"
*
* @param date 日期字符串
* @return 返回格式化的日期
* @throws ParseException 分析时意外地出现了错误异常
*/
public static String strToDateFormat(String date) throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
formatter.setLenient(false);
Date newDate= formatter.parse(date);
formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(newDate);
}

第二种方法:


DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String nowdayTime = dateFormat.format(newDate());
Date nowDate = dateFormat.parse(nowdayTime);
简单思路就是:先通过DateFormat将当前Date转化为String格式日期,再通过DateFormat解析该String日期,再次生成Date。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
banxi1988
2010-11-28 · TA获得超过579个赞
知道小有建树答主
回答量:327
采纳率:66%
帮助的人:268万
展开全部
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
Date date=new Date();
String dateStr = sdf.format(date);
Date mydate = sdf.parse(dateStr);
/**试试看 */
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-01-19
展开全部
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date = sdf.parse(sdf.format(new Date()));
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式