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

我现在用:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
Date date=new Date();
sdf.format(date);
可以获得格式如“yyyy-mm-dd”的日期数据,但类型为String.
如何保持格式不变,但类型为Date?

@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;  }

温馨提示:内容为网友见解,仅供参考
第1个回答  2021-06-21

@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

本回答被网友采纳
第2个回答  推荐于2019-08-13

第一种方法:

/**
*将字符串格式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。

本回答被网友采纳
第3个回答  2010-11-28
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
Date date=new Date();
String dateStr = sdf.format(date);
Date mydate = sdf.parse(dateStr);
/**试试看 */本回答被网友采纳
第4个回答  推荐于2018-01-19
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date = sdf.parse(sdf.format(new Date()));本回答被网友采纳

Java如何获取Date类型且格式为yyyy-mm-dd的日期数据?
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 currentTi...

java获取date类型的当前日期 格式YYYY-MM-dd hh:mm:ss
如果只要"yyyy-MM-dd"格式的Date型, 通过java.sql的Date:Date d = new java.sql.Date(new Date().getTime());

java中的Date显示指定为yyyy-MM-dd
simpledateformat("yyyy-mm-dd");\/\/定义日期类型格式 string str2 = timestamp.valueof(format.format(l));\/\/转换为字符串 \/\/system.out.println(str2);\/\/打印获取的字符串 date date = format .parse(str2);\/\/格式化获取到的日期,system.out.println(date);输出结果:2015-06-27。

java中获得当前时间(yyyy-mm-dd)
import java.util.Date;Date d=new Date();\/\/获取时间 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");\/\/转换格式 System.out.println(sdf.format(d));\/\/打印

java如何实现当前时间获取及格式化?
1.获取当前时间,并格式化为(年-月-日 时:分:秒)。Date t = new Date();SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(df.format(t));打印输出结果如下图:2.将java.util.Date转换为java.sql.Date格式。java.sql.Date sqld = new java....

【Java】怎样获取当前系统时间,需要的格式为yyyy-MM-dd HH:mm:ss
1、打开Eclipse的主界面,需要通过图示的按钮来引入java包。2、下一步开始第一种方法,直接输入图示的代码。3、或者用第二种方法,增加图示的代码来组合各个字段。4、以上两种方法都会在控制台输出图示的结果,即可实现【Java】获取当前系统时间了。

...格式类型的 (如:YYYY-MM-DD) 的 DATE类型数据?
Date类型并没有格式,只有转换成String格式的时候让格式化显示。new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")format(new Date());Calendar calendar = Calendar.getInstance();int year = Integer.parseInt(datetime.substring(0,4));int month = Integer.parseInt(datetime.substring(5,7));int ...

java怎么把java.utl.date格式变为yyyy-mm-dd的date类型
"yyyy-MM-dd");\/\/注意:m 代表的是分钟, M代表的是月 \/\/转换日期得到指定格式的日期 date = simpleDateFormat.format(date);java.util.Date date2 = simpleDateFormat.parse(strDate);一般日期操作的类:java.util.Calendar, java.text.SimpleDateFormat,建议好好学习一下相关API ...

JAVA中怎么创建"yyyy-MM-dd HH:mm:ss"模式是DATE类型对象
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");然后如果你想得到一个Date的话, 就传递一个日期的字符串, 通过下面的方法得到Date对象:com.util.Date date = format.parse(日期字符串);如果你想要把一个时间转化为上面格式的字符串, 就传递一个...

java如何得到系统时间,Date型
Date();\/\/如果不需要格式,可直接用dt,dt就是当前系统时间 DateFormat df = new SimpleDateFormat("yyyy\/MM\/dd HH:mm:ss");\/\/设置显示格式 String nowTime=""; nowTime= df.format(dt);\/\/用DateFormat的format()方法在dt中获取并以yyyy\/MM\/dd HH:mm:ss格式显示 ...

相似回答