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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;  

参考技术A

@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

参考技术B

第一种方法:

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

参考技术C SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
Date date=new Date();
String dateStr = sdf.format(date);
Date mydate = sdf.parse(dateStr);
/**试试看 */
参考技术D SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date = sdf.parse(sdf.format(new Date()));

hive怎么把日期转化成yyyy-mm格式?

hiveQL怎么把当前系统日期转化成yyyy-mm格式,也就是截取到年月,不要日

参考技术A select substr(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),1,7)
select substr(current_date,1,7)
参考技术B =TEXT(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2),"YYYY-MM-DD")

以上是关于Java如何获取Date类型且格式为yyyy-mm-dd的日期数据?的主要内容,如果未能解决你的问题,请参考以下文章

js获取指定yyyy-mm格式的时间

从日期时间列中提取 YYYY-MM

java中如何把获取到的当前时间转化成YYYY-MM-DD格式Date型

java怎么将String转换成日期

java数据库日期格式化

如何将“YYYYMM”格式转换为“YYYY-MM-00”?