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;
@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。
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的日期数据?的主要内容,如果未能解决你的问题,请参考以下文章