日期java
A. java 日期怎么比较大小
例子:
String beginTime=new String("2017-06-09 10:22:22");
String endTime=new String("2017-05-08 11:22:22");
直接用Date自带方法before()和after()比较
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
System.out.println(sd1.before(sd2));
System.out.println(sd1.after(sd2));
用String的compareTo()方法:
Integer i=beginTime.compareTo(endTime);
System.out.println(i);
返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致
转成date格式换成秒数比较秒数大小,getTime()方法
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
long long1 =sd1.getTime()
long long2= sd2.getTime()
(1)日期java扩展阅读:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
B. java 日期范围
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test {
public static void main(String[] args) {
String[] ds = dates("20080531", "20080930");
for (int i = 0; i < ds.length; i++) {
System.out.println(ds[i]);
}
}
private static String[] dates(String start, String end) {
Calendar s = Calendar.getInstance();
s.setTime(stringToDate(start));
Calendar e = Calendar.getInstance();
e.setTime(stringToDate(end));
int range = e.get(Calendar.MONTH) - s.get(Calendar.MONTH);
String[] results = new String[range];
for (int i = 0; i < range; i++) {
s.add(Calendar.MONTH, 1);
s.set(Calendar.DATE, s.getActualMaximum(Calendar.DAY_OF_MONTH));
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
results[i] = start + "-" + sdf.format(s.getTime());
}
return results;
}
private static Date stringToDate(String date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date d = null;
try {
d = sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return d;
}
}
C. java判断是否是日期
楼主提出的问题有点片面,我的理解是,你是不是想判断字符串是不是日期格式?如果已经是日期类型,那就不需要判断了,对把。判断给定字符串是不是日期我给你提供两种解决思路,一种是用正则,代码我给你写好了。
publicbooleanisDate(Stringdate){
/**
*判断日期格式和范围
*/
Stringrexp="^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
Patternpat=Pattern.compile(rexp);
Matchermat=pat.matcher(date);
booleandateType=mat.matches();
returndateType;
}
参数就是你要判断的日期字符串,返回布尔值;
另一种方式就是:玩字符串正则才是王道嘛!希望采纳
publicbooleanisValidDate(Stringstr){
booleanconvertSuccess=true;
//指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;
//如果想判断格式为yyyy-MM-dd,需要写成-分隔符的形式
SimpleDateFormatformat=newSimpleDateFormat("yyyy/MM/ddHH:mm");
try{
format.setLenient(false);
format.parse(str);
}catch(ParseExceptione){
//e.printStackTrace();
//如果抛出ParseException或者NullPointerException,就说明格式不对
convertSuccess=false;
}
returnconvertSuccess;
}
推荐使用正则,
D. java 编程中显示日期和时间的代码
可以直接通过jdk基本方法,获取到当前的时间
Date date= new Date();//创建一个时间对象,获取到当前的时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置时间显示格式
String str = sdf.format(date);//将当前时间格式化为需要的类型
System.out.println(str);//输出结果
结果为:2015-11-06 13:53:54(实时)。
E. java中如何定义日期型数据
import java.util.Date;
import java.text.SimpleDateFormat;
public class NowString {
public static void main(String[] args) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
}
}
F. Java获取日期
代码如下。
----------------------------------------------------------------------------------------
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Test {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Calendar calendar = Calendar.getInstance();
// 周六是一周的第七天,取得本周的周六
calendar.set(Calendar.DAY_OF_WEEK, 7);
System.out.println(sdf.format(calendar.getTime()));
// 日期减7就是上周六了。
calendar.add(Calendar.DATE, -7);
System.out.println(sdf.format(calendar.getTime()));
}
}
G. java输入的日期与当前的日期做比较
Java中日期时间比较
java.text.SimpleDateFormat 类 ----时间日期格式化
java.util.Date类 ----构造时间日期
java.util.Date类compareTo方法 ----比较日期时间
java中日期时间的比较要用到java.text.SimpleDateFormat 类和java.util.Date类compareTo方法,SimpleDateFormat类用于时间日期格式化,将日期时间格式化为制定的格式,compareTo方法用于比较日期时间。以下为我写过的程序片段:
String data=doc.getItemValueString("fd_ngr");
//拟稿时间
String data4=data.substring(data.indexOf(' '),data.length());
int panan=data4.indexOf("-");
int panan1=data4.indexOf("/");
ec_dbsy=vi_dbsy.getAllEntries();
//构造日期格式yyyy-MM-NN
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatter2 = new SimpleDateFormat("MM/dd/yyyy");
if(data4.length()!=0)
{
if (panan!=-1){
try {
Date date1 = formatter.parse(data4);
Date date0=new Date();
Date date2 =formatter.parse("2006-08-31");
Date date3=formatter.parse("2006-07-01");
int number1=date1.compareTo(date2);
int number2=date1.compareTo(date3);
//返回 0 表示时间日期相同
//返回 1 表示日期1>日期2
//返回 -1 表示日期1<日期2
if( number2==1)
{
if(number1==-1)
{
System.out.println("日期格式符合要求!");
System.out.println("日期格式符合要求的yyyy-MM-dd的文档ID是:"+doc.getUniversalID());
String mPath="\\"+"\\10.52.4.4\\d$\\Program Files\\WebSphere\\AppServer\\installedApps\\oa1\\oaWeb20061030_war.ear\\oaWeb20061030.war\\doc_fw";
DaglImpl daglImpl = new DaglImpl();
daglImpl.addFW(doc,mPath); //归档处理
}
}
} catch (ParseException e) {
e.printStackTrace();
}
}
H. java中输入一个日期
public static void main(String[] args) throws ParseException {
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
System.out.print("请输入:");
Date date = simpleDateFormat.parse(input.nextLine());
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
int week=calendar.get(Calendar.DAY_OF_WEEK);
if (week==1) {
//第几个星期
int weekNum=calendar.get(Calendar.WEEK_OF_MONTH);
switch (weekNum) {
case 1:
System.err.println(1);
break;
case 2:
System.err.println(2);
break;
case 3:
System.err.println(3);
break;
case 4:
System.err.println(4);
break;
case 5:
System.err.println(5);
break;
}
}else{
System.err.println(0);
}
}
I. 日期类JAVA:
亲, 日期的月份是从0开始的 所以你需要月份 +1
J. JAVA日期类型如何计算
public class CalendarUtil {
public static void main(String[] args) {
String aa = "2011-2-02";
String bb = "2010-4-12";
CalendarUtil tt = new CalendarUtil();
System.out.println("获取两个日期之间间隔天数"+bb+"~"+aa+":"
+ CalendarUtil.getTwoDay(aa, bb));
}
/**
* 得到二个日期间的间隔天数
*
* @param sj1
* @param sj2
* @return
*/
public static String getTwoDay(String sj1, String sj2) {
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
long day = 0;
try {
java.util.Date date = myFormatter.parse(sj1);
java.util.Date mydate = myFormatter.parse(sj2);
day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
} catch (Exception e) {
return "";
}
return day + "";
}
}