Java中对时间、日期的处理
2007-12-09 21:42
567 查看
在平时的coding工作中,我们经常会遇见对时间、日期的处理。现对我使用的处理方式做一个记录。
1、对calender与GregorianCalendar的应用
2、时间是用距离一个固定时间点的毫秒数(可正可负)表示的,这个点就是纪元(epoch)
3、 Date类的纪元是UTC时间1997年1月1日00:00:00.UTC是Coordinated Universal Time的缩写
4、 Date类表示时间点,GregorianCalendar表示日历
5、GregorianCalendar遵循了世界上大多数地区采用的Gregorian阳历表示法
6、 在GregorianCalendar中月份从0开始计数,因此11月表示12月,一般使用常量来表示
下面是测试用到的两个事例:
package ObjectAndClass;
import java.util.*;
public class CalendarTest {
public static void main(String[] args) {
// construct d as current date
GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);
int hour = d.get(Calendar.HOUR_OF_DAY);
//set d to start date of month
d.set(Calendar.DAY_OF_MONTH, 1);
int weekday = d.get(Calendar.DAY_OF_WEEK);
//print heading
System.out.println("Sun Mon Tue Wed Thu Fri Sat");
//indent first line of calender
for(int i=Calendar.SUNDAY;i<weekday;i++)
System.out.print(" ");
do
{
//print day
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d", day);
//mark current day with *
if(day == today)
System.out.print("*");
else
System.out.print(" ");
//start a new line after every Saturday
if(weekday == Calendar.SATURDAY)
System.out.println();
//advance d to the next day
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK);
}
while (d.get(Calendar.MONTH) == month);
//the loop exits when d is day 1 of the next month
//print final end of line if necessary
if(weekday != Calendar.SUNDAY)
System.out.println();
}
}
来源于核心技术基础卷
package ObjectAndClass;
import java.util.*;
import java.text.*;
public class DateTest {
/**
* @param args
* 对date类型进行测试
*/
public static void main(String[] args) {
Date now = new Date();
//date类型的tostring 重载了
System.out.println(now.toString());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String test = sdf.format(now).toString();
System.out.println(test);
String myString = DateFormat.getDateInstance().format(now);
System.out.println(test);
}
}
对GregorianCalendar、Date的用法请查阅jdk。
1、对calender与GregorianCalendar的应用
2、时间是用距离一个固定时间点的毫秒数(可正可负)表示的,这个点就是纪元(epoch)
3、 Date类的纪元是UTC时间1997年1月1日00:00:00.UTC是Coordinated Universal Time的缩写
4、 Date类表示时间点,GregorianCalendar表示日历
5、GregorianCalendar遵循了世界上大多数地区采用的Gregorian阳历表示法
6、 在GregorianCalendar中月份从0开始计数,因此11月表示12月,一般使用常量来表示
下面是测试用到的两个事例:
package ObjectAndClass;
import java.util.*;
public class CalendarTest {
public static void main(String[] args) {
// construct d as current date
GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);
int hour = d.get(Calendar.HOUR_OF_DAY);
//set d to start date of month
d.set(Calendar.DAY_OF_MONTH, 1);
int weekday = d.get(Calendar.DAY_OF_WEEK);
//print heading
System.out.println("Sun Mon Tue Wed Thu Fri Sat");
//indent first line of calender
for(int i=Calendar.SUNDAY;i<weekday;i++)
System.out.print(" ");
do
{
//print day
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d", day);
//mark current day with *
if(day == today)
System.out.print("*");
else
System.out.print(" ");
//start a new line after every Saturday
if(weekday == Calendar.SATURDAY)
System.out.println();
//advance d to the next day
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK);
}
while (d.get(Calendar.MONTH) == month);
//the loop exits when d is day 1 of the next month
//print final end of line if necessary
if(weekday != Calendar.SUNDAY)
System.out.println();
}
}
来源于核心技术基础卷
package ObjectAndClass;
import java.util.*;
import java.text.*;
public class DateTest {
/**
* @param args
* 对date类型进行测试
*/
public static void main(String[] args) {
Date now = new Date();
//date类型的tostring 重载了
System.out.println(now.toString());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String test = sdf.format(now).toString();
System.out.println(test);
String myString = DateFormat.getDateInstance().format(now);
System.out.println(test);
}
}
对GregorianCalendar、Date的用法请查阅jdk。
相关文章推荐
- Java中的时间日期处理
- 学习Java中的日期和时间处理及Java日历小程序的编写
- java 时间日期处理
- Java 8中处理日期和时间
- JAVA面试题解惑系列(七)——日期和时间的处理
- java时间日期处理
- 【Util】java处理日期时间 相加减大全
- JAVA处理日期时间常用方法:强大的calendar类
- java日期时间处理工具类
- JAVA处理日期时间常用方法
- JAVA时间日期处理类,主要用来遍历两个日期之间的每一天。
- JAVA时间日期处理类实例
- JAVA面试题解惑系列(七)——日期和时间的处理
- java读取Excel中的日期时间处理
- 【Java】Java中的时间日期处理
- 如何在Java 8中愉快地处理日期和时间
- JAVA处理日期时间相加减
- 如何在Java 8中愉快地处理日期和时间
- 如何在Java 8中愉快地处理日期和时间
- JAVA处理日期(Date)时间(Time)以及相关类的介绍