Java中获取指定日为星期几及其他日期操作

Java中获取指定日为星期几及其他日期操作
Java中获取指定日为星期几及其他日期操作

Java中获取指定日为星期几及其他日期操作

在开发中经常会使用到一些日期方面的操作,下面例子展示几个常用的操作。

1、取得指定日期是星期几

取得指定日期是星期几可以采用下面两种方式取得日期是星期几:

a、使用Calendar类

[java]view plaincopyprint?

1.//根据日期取得星期几

2. public static String getWeek(Date date){

3. String[] weeks = {"星期日","星期一","星期二","星期三","星期四

","星期五","星期六"};

4. Calendar cal = Calendar.getInstance();

5. cal.setTime(date);

6. int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1;

7. if(week_index<0){

8. week_index = 0;

9. }

10. return weeks[week_index];

11. }

b、使用SimpleDateFormat类

[java]view plaincopyprint?

1.//根据日期取得星期几

2. public static String getWeek(Date date){

3. SimpleDateFormat sdf = new SimpleDateFormat("EEEE");

4. String week = sdf.format(date);

5. return week;

6. }

注:格式化字符串存在区分大小写

对于创建SimpleDateFormat传入的参数:EEEE代表星期,如“星期四”;MMMM代表中文月份,如“十一月”;MM代表月份,如“11”;

yyyy代表年份,如“2010”;dd代表天,如“25”

2、取得日期是某年的第几周

根据日期入得日期是某年的第几周。

[java]view plaincopyprint?

1.//取得日期是某年的第几周

2. public static int getWeekOfYear(Date date){

3. Calendar cal = Calendar.getInstance();

4. cal.setTime(date);

5. int week_of_year = cal.get(Calendar.WEEK_OF_YEAR);

6. return week_of_year;

7. }

3、得到某年的某个月有多少天

已知年份和月份,取得该月有多少天。

[java]view plaincopyprint?

1.//取得某个月有多少天

2. public static int getDaysOfMonth(int year,int month){

3. Calendar cal = Calendar.getInstance();

4. cal.set(Calendar.YEAR, year);

5. cal.set(Calendar.MONTH, month-1);

6. int days_of_month = cal.getActualMaximum(Calendar.DAY_OF_MO

NTH);

7. return days_of_month;

8. }

4、取得两个日期之间的相差多少天

已知两个日期,计算它们之间相差多少天。

[java]view plaincopyprint?

1.

// 取得两个日期之间的相差多少天

2. public static long getDaysBetween(Date date0, Date date1) {

3. long daysBetween = (date0.getTime() - date1.getTime() + 100

0000) / 86400000;// 86400000=3600*24*1000 用立即数,减少乘法计算的开

4. return daysBetween;

5. }

6.

7.

8.

9.

10.

5、完整的测试代码

[java]view plaincopyprint?

1.package org.ml.test;

2.

3.import java.text.ParseException;

4.import java.text.SimpleDateFormat;

5.import java.util.Calendar;

6.import java.util.Date;

7.

8.public class CalendarDemo {

9. public static void main(String[] args) {

10. String strDate = "2013-03-08";// 定义日期字符串

11. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"

);// 定义日期格式

12. Date date = null;

13. try {

14. date = format.parse(strDate);// 将字符串转换为日期

15. } catch (ParseException e) {

16. System.out.println("输入的日期格式不合理!");

17. }

18. System.out.println(strDate + "是:" + getWeek(date));

19. System.out.println(strDate + "是一年的

第:" + getWeekOfYear(date) + "周");

20. System.out.println(strDate + "是一年的

" + (date.getMonth() + 1) + "月有:"

21. + getDaysOfMonth(date.getYear(), date.getMonth() +

1) + "天");

22. System.out.println(strDate + "距离

" + (format.format(new Date())) + "还有"

23. + getDaysBetween(date, new Date()) + "天");

24.

25. }

26.

27. // 根据日期取得星期几

28. public static String getWeek(Date date) {

29. // String[] weeks = {"星期日","星期一","星期二","星期三","星期

四","星期五","星期六"};

30. // Calendar cal = Calendar.getInstance();

31. // cal.setTime(date);

32. // int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1;

33. // if(week_index<0){

34. // week_index = 0;

35. // }

36. // return weeks[week_index];

37. SimpleDateFormat sdf = new SimpleDateFormat("EEEE");

38. String week = sdf.format(date);

39. return week;

40. }

41.

42. // 取得日期是某年的第几周

43. public static int getWeekOfYear(Date date) {

44. Calendar cal = Calendar.getInstance();

45. cal.setTime(date);

46. int week_of_year = cal.get(Calendar.WEEK_OF_YEAR);

47. return week_of_year;

48. }

49.

50. // 取得某个月有多少天

51. public static int getDaysOfMonth(int year, int month) {

52. Calendar cal = Calendar.getInstance();

53. cal.set(Calendar.YEAR, year);

54. cal.set(Calendar.MONTH, month-1);

55. int days_of_month = cal.getActualMaximum(Calendar.DAY_OF_MO

NTH);

56. return days_of_month;

57. }

58.

59. // 取得两个日期之间的相差多少天

60. public static long getDaysBetween(Date date0, Date date1) {

61. long daysBetween = (date0.getTime() - date1.getTime() + 100

0000) / 86400000;// 86400000=3600*24*1000 用立即数,减少乘法计算的开

62. return daysBetween;

63. }

64.

65.}

6、测试结果

7、引出的问题

看下面的代码:

[java]view plaincopyprint?

1.public static void main(String[] args) throws Exception{

2. String strDate = "999-999-999";// 定义日期字符串

3. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");//

定义日期格式

4. Date date = null;

5.try {

6. date = format.parse(strDate);// 将字符串转换为日期

7.} catch (ParseException e) {

8. System.out.println("日期格式有误,请给出正确的日期格式");

9. return;

10.}

11. System.out.println(format.format(date));

12.}

Java中使用yyyy-MM-dd日期格式进行转换,转换字符串为999-999-999时,没有出现异常,反倒是执行通过了。

运行结果:1084-11-23

解决办法如下:

在date = format.parse(strDate)前面加上format.setLenient(false)就行了。意思是【指定日期/时间解析是否不严格。进行不严格解析时,解析程序可以使用启发式的方法来解释与此对象的格式不精确匹配的输入。进行严格解析时,输入必须匹配此对象的格式。】

日期常用格式

C#时间/日期格式大全,C#时间/日期函数大全 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢? 我们要用到: DateTime.ToString的方法(String, IFormatProvider) using System; using System.Globalization; String format="D"; DateTime date=DataTime,Now; Response.Write(date.ToString(format, DateTimeFormatInfo.InvariantInfo)); 结果输出Thursday, June 16, 2005 参数format格式详细用法: 格式字符关联属性/说明 d ShortDatePattern D LongDatePattern f 完整日期和时间(长日期和短时间) F FullDateTimePattern(长日期和长时间) g 常规(短日期和短时间) G 常规(短日期和长时间) m、M MonthDayPattern r、R FC1123Pattern s 使用当地时间的SortableDateTimePattern(基于ISO 8601)t ShortTimePattern T LongTimePattern u UniversalSortableDateTimePattern 用于显示通用时间的格式U 使用通用时间的完整日期和时间(长日期和长时间) y、Y YearMonthPattern 下表列出了可被合并以构造自定义模式的模式。 这些模式是区分大小写的;例如,识别“MM”,但不识别“mm”。 如果自定义模式包含空白字符或用单引号括起来的字符, 则输出字符串页也将包含这些字符. 未定义为格式模式的一部分或未定义为格式字符的字符按其原义复制。 格式模式说明 d 月中的某一天。一位数的日期没有前导零。

java处理日期时间 相加减

JAVA处理日期时间常用方法: 1.java.util.Calendar Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970年 1月1日的00:00:00.000,格里高利历)的偏移量。 [java]view plaincopy 1.Calendar cal=Calendar.getInstance();//使用默认时区和语言环境获得一个日历。 2.cal.add(Calendar.DAY_OF_MONTH,-1);//取当前日期的前一天. 3. 4.cal.add(Calendar.DAY_OF_MONTH,+1);//取当前日期的后一天. 5. 6.//通过格式化输出日期 7.java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-MM- dd"); 8. 9.System.out.println("Today is:"+format.format(Calendar.getInstance().getTime() )); 10. 11.System.out.println("yesterday is:"+format.format(cal.getTime())); 得到2007-12-25日期: [java]view plaincopy 1.Calendar calendar=new GregorianCalendar(2007,11,25,0,0,0); 2.Date date=calendar.getTime(); 3.System.out.println("2007Christmas is:"+format.format(date)); java月份是从0-11,月份设置时要减1. GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

基于java Web 的在线拍卖系统

华北科技学院 课程设计说明书 技能训练类(三) 学号:201207034102 班级: 信管B121 姓名:何欢 设计题目:_____在线拍卖系统________________ 设计地点:____基础五_______________________ 设计时间: 2015.3.10 至2015.4.17 成绩评定: 1、工作量: A(),B(),C(),D(),F( ) 2、难易度:A(),B(),C(),D(),F( ) 3、答辩情况: 基本操作:A(),B(),C(),D(),F( ) 代码理解:A(),B(),C(),D(),F( ) 4、报告规范度:A(),B(),C(),D(),F( ) 5、学习态度:A(),B(),C(),D(),F( ) 总评成绩:_________________________________ 指导教师:_________________________________

1、课程设计的目的 技能训练的内容围绕一个信息管理系统的实际开发过程进行组织,重点在于程序设计开发部分。信息管理系统的题目由教师指定或学生自行拟定,学生根据教师提出的系统在应用环境、系统规模、数据量、业务流程等方面的要求,进行需求分析、数据库设计、数据库实施、程序开发和测试,最终完成系统。 技能训练的目的和要求: (1)使学生巩固和加强《java基础》与《》课程的理论知识。 (2)使学生掌握程序设计开发的步骤。 (3)使学生掌握model2以上的开发系统的方法。 (4)使学生掌握使用数据库管理信息数据的方法。 (5)使学生掌握使用JA V A等程序设计语言连接和操作数据库的方法。 (6)使学生掌握调试程序的基本方法及上机操作方法。 (7)使学生初步掌握开发一个小型信息管理系统的基本步骤,引导学生根据实际业务流程和需求进行系统分析与设计,并建立需要的数据库,最后通过编写代码和调试完成系统。 2、软件需求分析和总体设计 2.1软件功能 拍卖系统是一个在线系统,系统设计为B/S模式,用户在浏览器请求服务端的资源。包含的功能有: ①查看竟得物品 ②浏览流拍物品 ③管理种类 ④管理物品 ⑤浏览拍卖物品 ⑥查看自己的竞标 功能模块框图下图所示(图2-1-1):

excel设置日期格式限制单元格内容只能输入日期解读

excel 设置日期格式限制单元格内容只能输入日期实际工作中通常需要用Excel 建立一个需要输入日期的表格,在以后的工作中可以会对以日期做一些筛选的操作。但是如果一开始建库的时候没有注意录入日期格式的问题,那么很可以没有办法做这样的筛选,或是筛选出错。 这里其实涉及到了,Excel 单元格格式的问题。通常有文本格式,数字格式,时间格式,日期格式,等。默认的状态下是可以直接录入文本和数字的,但日期或时间的录入,则要先做一些单元格格式的定义才可以。 在这里,笔者准备介绍一下如何在Excel 中录入日期,以及如何限制单元格内容只能输入日期的方法。这样既可以保证录入日期的正确性,也让今后工作对其日期数据的进一步操作更为方便。 以下表为例: 操作步骤如下: 1. 选择B 列,设置为日期格式 (2) 2. 设置单元格数据的“有效性”或“数据验证” . (3)

3. 设置“输入法模式” (4) 1. 选择B 列,设置为日期格式

这个时候虽然已经设定了日期格式,但是并不能限制单元格内容的录入,现在我们随便在B2单元格写入几个汉字,如下图: 上图的录入内容是我们不希望出现的,因为我们希望在这一列单元格中只能录入日期,这样以可以保证数据的有效性。因此还需要对单元格做如下设定。

2. 设置单元格数据的“有效性”或“数据验证” 这里要提到的是:在excel 2003中这个设置是在“数据”—“有效性”;在excel 2007及以后的版本中,这个设置是在“数据”—“数据验证”。以下以最新版的Excel 2013为例,如下图: 先选中B 列单元格

时间的区间一定要设定,假设我们设置为1900/1/1到2010/1/1 3. 设置“输入法模式” 为了方便录入,而不需要手动进行输入法的切换,可以在设置在“数据验证”下进一步设置“输入法模式”,如下图:先选中B 列单元格

java中时间格式的转换

1.将日期类型转换为格式的字符串类型 java.util.Date中的日期 Date Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time=sdf.format(date); 2.将字符串类型的转换为指定格式的日期类型(java.util.Date) String time = "2009-7-29 14:28:12"; DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = df.parse(time); 这里需要抛出ParseException异常 若将java.util.Date类型转换成java.sql.Date时,只需添加一行代码 java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 3.使用java.sql.Timestamp在java程序中rs.getDate()时获取日期的时、分、秒 String str = ""; String format="yyyy-MM-dd HH:mm:ss"; try { //这里与数据库的连接已经省略,获得PreparedStatement的对象psmt ResultSet rs = psmt.executeQuery(); while(rs.next()){ Timestamp ts = rs.getTimestamp("pdate"); SimpleDateFormat sdf = new SimpleDateFormat(format); str = sdf.format(ts); System.out.println(str); } } catch (SQLException e) { e.printStackTrace(); } ...... SimpleDateFormat的用法: //SimpleDateFormat中的parse方法可以 把String型的字符串转换成特定格式的date类型 import java.text.*; import java.util.*; public class TestDate { public static void main(String[] args) { String dStr = "2001.12.12-08.23.21"; Date d = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd-HH.mm.ss"); try { d = sdf.parse(dStr);

Java课程设计飞机航班管理系统

一.引言 1.1项目的名称 飞机航班信息管理系统 1.2项目背景和目标 飞机航班信息管理系统主要能够查询飞机的航班情况,飞行线路,票价,折扣 等等情况,并能够在数据库中更新维护飞机航班的信息,对飞机航班数据库进 行管理,如航班的增加,删除和修改等。我们的目标就是为该系统提供后台连 接数据库程序设计以及前台用户界面设计。 1.3项目的可行性研究 设计此系统需要java面向对象编程基础,数据库应用知识以及功能分析。根据目前所开设的课程,学生已经具备这样的知识,有能力综合java编程知识和数据库应用知识做出一个这样的飞机航班信息管理系统。 二、需求分析 2.1系统概述 此系统提供给系统管理员和用户。系统管理员登陆后可以对飞机航班信息进行管理,如:添加飞机航班信息,删除飞机航班信息,修改飞机航班属性。用户登陆后能进行飞机航班信息查询,订票以及退订。 2.2系统运行环境 Java运行在eclipse软件上,数据库用mysql数据库 2.3功能需求描述 用户选择相关的服务项目可以查看相关航班基本信息,并且可以根据自己需求选择相应服务,系统的信息更新时,相关的信息经过相应处理后,会存入到飞机航班数据库中的航班信息记录表中;系统管理员根据航空公司实际情况可以更新航班信息,并通过修改信息处理后被保存到飞机航班表中。 三、系统设计 开发与设计的总体思想 飞机航班信息管理系统主要分为用户和系统管理员2类,因此也将该系统分为2个相应的大的功能模块。 用户可以通过服务项目选择查询相关航班情况,进行订票,退订等服务项目。系统会将数据库中相应信息反馈给顾客。 系统管理员负责管系统信息的及时更新,可以根据航空公司航班的具体的情况更新数据库。 系统模块结构图

java获得当前服务器的操作系统

import java.util.Properties; public class Test{ public static void main (String args[]){ Properties props=System.getProperties(); //系统属性 System.out.println("Java的运行环境版本:"+props.getProperty("java.version")); System.out.println("Java的运行环境供应商:"+props.getProperty("java.vendor")); System.out.println("Java供应商的URL:"+props.getProperty("java.vendor.url")); System.out.println("Java的安装路径:"+props.getProperty("java.home")); System.out.println("Java的虚拟机规范版本:"+props.getProperty("java.vm.specification.version")); System.out.println("Java的虚拟机规范供应商:"+props.getProperty("java.vm.specification.vendor")); System.out.println("Java的虚拟机规范名称:"+props.getProperty("https://www.360docs.net/doc/a83000538.html,")); System.out.println("Java的虚拟机实现版本:"+props.getProperty("java.vm.version")); System.out.println("Java的虚拟机实现供应商:"+props.getProperty("java.vm.vendor")); System.out.println("Java的虚拟机实现名称:"+props.getProperty("https://www.360docs.net/doc/a83000538.html,")); System.out.println("Java运行时环境规范版本:"+props.getProperty("java.specification.version")); System.out.println("Java运行时环境规范供应商:"+props.getProperty("java.specification.vender")); System.out.println("Java运行时环境规范名称:"+props.getProperty("https://www.360docs.net/doc/a83000538.html,"));

Java_各种时间格式转换大全

Java_各种时间格式转换大全/** * 字符串转换为java.util.Date
* 支持格式为yyyy.MM.dd G 'at' hh:mm:ss z 如'2002-1-1 AD at 22:10:59 PSD'
* yy/MM/dd HH:mm:ss 如'2002/1/1 17:55:00'
* yy/MM/dd HH:mm:ss pm 如'2002/1/1 17:55:00 pm'
* yy-MM-dd HH:mm:ss 如'2002-1-1 17:55:00'
* yy-MM-dd HH:mm:ss am 如'2002-1-1 17:55:00 am'
* @param time String 字符串
* @return Date 日期
*/ public static Date stringToDate(String time){ SimpleDateFormat formatter; int tempPos=time.indexOf("AD") ; time=time.trim() ; formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); }

操作系统时间片轮转RR进程调度算法java版

实验二间片轮转RR 进程调度算法 1、实验目的通过这次实验,加深对进程概念的理解,进一步掌握进程状态 的转变、进程调度的策略及对系统性能的评价方法。 2、试验内容 问题描述:设计程序模拟进程的时间片轮转RR调度过程。假设有n 个进程分别在T1, ?,T n 时刻到达系统,它们需要的服务时间分别为 S1, ?,n S。分别利用不同的时间片大小q,采用时间片轮转RR进程调度算法进行调度,计算每个进程的完成时间、周转时间和带权周转时间,并且统计n个进程的平均周转时间和平均带权周转时间。 3、程序要求: 1)进程个数n;每个进程的到达时间T1, ?,T n 和服务时间S1, ?,n S;输入时间片大小q。 2)要求时间片轮转法RR调度进程运行,计算每个进程的周转时间和带权周转时间,并且计算所有进程的平均周转时间和带权平均周转时间; 3)输出:要求模拟整个调度过程,输出每个时刻的进程运行状态,如“时刻3:进程 B 开始运行”等等; 4)输出:要求输出计算出来的每个进程的周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间。 4、需求分析 (1)输入的形式和输入值的范围 时间片真实进程数各进程的到达时间各进程的服务时间

(2)输出的形式模拟整个调度过程、周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间。 (3)测试用例 由于自己自编写代码方面与他人有一定的差距,因此在做实验的过程中我在网上搜了很多相关的资料,了解实现该算法的原理及各部分实现的代码,同时参考了几个别人写好的源代码,然后自己在理解的基础上不断的根据要求修改写程序,不过其中碰见的很多的问题。我已经自己调了好多错误,在一遍遍的调试和修改中,发现自己的经验在快速增长,这个感觉真的很不错。然而,实验的运行结果还不是 很完美,每个进程在最后一个时间片的运行过程中,进程列表的更新总是修改错误。不过在在本次试验中学到了不少东西,一点点的在进 6、测试结果 输入时间片,进程数,进程到达时间,服务时间

软件开发常用日期格式

软件系统常用日期格式 系统规则 注意:在书写时大括号之间变量不能有空格. 时间常规显示格式: 日期统一显示格式:YYYY-MM-DD 日期时间统一显示格式:YYYY-MM-DD HH:NN:SS 时间统一显示格式:HH:NN:SS 系统变量: {CurrDate}表示:系统当前日期; {CurrDateTime}表示:系统当前日期时间; {CurrTime}表示:系统当前时间; {CurrYear}表示:系统当前年; {CurrMonth}表示:系统当前月; {CurrDay}表示:系统当前天; {CurrHour}表示:系统当前小时; {CurrMinute}表示:系统当前分钟; {CurrSecond}表示:系统当前秒; {CurrUserId}表示:当前用户id {CurrUserName}表示:当前用户姓名 {CurrUserDeptId}表示:当前用户部门id {CurrUserDeptName}表示:当前用户部门名称 {CurrUserSubCompanyId}表示:当前用户所在分部Id {CurrUserSubCompanyName}表示:当前用户所在分部名称{CurrUserSubCompanyCode}表示:当前用户所在分部的机构编码{CurrOnlineUserId}表示:当前系统在线人员id,如多人则用“,”分割 对应commonConfig.properties文件各种变量(属于系统级变量):{SysCfgXWFWorkplan}:工作计划;对应项workflow_workplan {SysCfgXWFBumfin}:收文流程id;对应项workflow_workplan {SysCfgXWFBumfout}:发文流程id;对应项workflow_workplan {SysCfgDocAfficheId}:通知公告 { SysCfgDocNewDynamicId}:新闻动态 { SysCfgHrmCompanyLeaderLevel}:联社领导层(理事长、监事长、主任、副主任){SysCfgHrmDeptAndSameOrganLeaderLevel }:部门领导层(含信用社领导层){SysCfgRoleCptManager}:对应项workflow_workplan {SysCfgRoleMeetingManager}:对应项workflow_workplan

日期格式大全

Java中日期格式转换 /** * 字符串转换为java.util.Date
* 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'
* yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'
* yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'
* yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00'
* yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am'
* @param time String 字符串
* @return Date 日期
*/ public static Date stringToDate(String time){ SimpleDateFormat formatter; int tempPos=time.indexOf("AD") ; time=time.trim() ; formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); } tempPos=time.indexOf("-"); if(tempPos>-1&&(time.indexOf(" ")<0)){ formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ"); } else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); } else if((time.indexOf("-")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); } else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } else if((time.indexOf("-")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } ParsePosition pos = new ParsePosition(0); java.util.Date ctime = formatter.parse(time, pos); return ctime;

Java实验三常用系统类的使用

实验三常用系统类的使用 一、实验目的 了解Java 常用的系统类,包括字符串类、输入输出流类、数学函数类、日期类、随机数类以及向量类(学习继承内容后做)等的基本使用方法。理解Java 系统类的构成。二、实验要求 1.掌握不同类型的输入输出流类,标准数据流、文件流、数据输入输出流、对象流等。 2.掌握数学函数类的使用方法。 3.掌握日期类的使用方法。 4.掌握向量类的使用方法。 使用数学函数类 Math 是一个最终类,含有基本数学运算函数,如指数运算、对数运算、求平方根、三角函数、随机数等,可以直接在程序中加Math.前缀调用。 1.创建使用Math 类的应用程序KY5_8.java,源程序如下。 import java.util.*; class KY5_8 { public static void main(String args[]) { Random r1=new Random(1234567890L); Random r2=new Random(1234567890L); boolean b=r1.nextBoolean(); // 随机数不为0 时取真值 int i1=r1.nextInt(100); // 产生大于等于0 小于100 的随机数 int i2=r2.nextInt(100); // 同上 double i3=r1.nextDouble(); // 产生大于等于0.0 小于1.0 的随机数 double i4=r2.nextDouble(); // 同上 double d1=Math.sin(Math.toRadians(30.0)); double d2=Math.log(Math.E); double d3=Math.pow(2.0, 3.0); int r=Math.round(33.6F); System.out.println("b 的随机数不为0 时"+b); System.out.println("i1 的随机数为"+i1); System.out.println("i2 的随机数为"+i2); System.out.println("d1 的随机数为"+i3); System.out.println("d2 的随机数为"+i4); System.out.println("30 弧度的正弦值:Math.sin(Math.toRadians(30.0))="+d1); System.out.println("E 的对数值:Math.log(Math.E)="+d2); System.out.println("2 的3 次方:Math.pow(2.0, 3.0)="+d3); System.out.println("33.6F 四舍五入:Math.round(33.6F)="+r); } }

Java之时间、日期与数字

第6章时刻、日期和数字 6.1 Date类 Date a=new Date(); (1)Date类在java.util包中。使用Date类的无参数构造方法创建的对象能够猎取本地当前时刻。Date对象表示时刻的默认顺序是星期、月、日、小时、分、秒、年。 例如:Sat Apr 28 21:59:38 CST 2001 (2)我们可能希望按着某种适应来输出时刻,比如时刻的顺序:年月星期日或年月星期日小时分秒。 这时能够使用DataFormat的子类SimpleDateFormat来实现时期的格式化。SimpleDateFormat有一个常用构造方法:

public SimpleDateFormat(String pattern)。 该构造方法能够用参数pattern指定的格式创建一个对象,该对象调用 format(Date date) 方法格式化时刻对象date。需要注意的是,pattern中应当含有一些有效的字符序列。例如: ● y或yy 表示用两位数字输出年份 yyyy表示用4位数字输出年份。 ● M或MM 表示用两位数字或文本输出月份,假如想用汉字输出月份,pattern中应连续包含至少3个M,如MMM。 ● d或dd 表示用两位数字输出日。 ● H或HH 表示用两位数字输出小时。 ● m或mm 表示用两位数字输出分。 ● s或ss 表示用两位数字输出秒。 ● E 表示用字符串输出星期。在下面的例子dateformat.java中,我们用3种格式输出时刻。 (3)Java日期时刻及其格式化能够用System类的静态方法public static long currentTimeMillis()猎取系统当前时刻,那个时刻是从1970年1月1日0点到目前时刻所走过的毫秒数

操作系统课程设计时间片轮转算法java实现

操作系统课程设计时间 片轮转算法j a v a实现 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

学校代码: 10128 课程设计 题目:处理机管理模拟系统的设计与 实现 学生姓名: 学院:信息工程学院 系别:软件工程系 专业:软件工程 班级: 指导教师:副教授 讲师 2013年1月8日

内蒙古工业大学课程设计任务书(四) 学院(系):信息学院软件工程系课程名称:操作系统课程设计指导教师(签名): 专业班级:学生姓名:学号:

摘要 操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。对于不同的系统和系统目标,通常采用不同的调度算法,如在批处理系统中,为照顾为数众多的短作业,采用短作业优先调度算法;在分时系统中,为保证系统具有合理的响应时间,采用时间片轮转法进行调度。采用算法时,则要考虑多方面因素,以便达到最佳效果。本次课程设计采用时间片轮转调度算法来实现模拟进程调度任务的执行过程。 用Java模拟进程调度过程,可以方便地将运行结果直观地表示出来。Java语言独有的多线程操作,可以实现许多其他语言不能实现的功能,极大地方便了程序开发人员对程序的开发。此外,利用JavaGUI编程,可以使系统提供的界面更加友好。实验中,应用文件I/O操作、线程、AWT、Swing、内部类、接口、异常处理等技术,开发此系统。 关键字:时间片轮转; Java编程; GUI图形用户界面;文件操作;

Abstract The operating system is a key component of the computer system, responsible for the management and configuration memory, decided to system resources supply and demand priority, control input and output equipment, operation and management of network file system, and other basic different systems and system target, computers usually use different scheduling algorithm, such as in a Batch Processing System, in order to take care of a lot of short operation, using Short Job First algorithm;In systems with time sharing, to ensure the system has reasonable response time, need time slice Round Robin algorithm for scheduling. The algorithm, we should consider various factors, in order to achieve the best Course Design uses time slice Round Robin algorithm to simulate the process scheduling task execution process. With Java simulation process scheduling process, which can be conveniently will run results intuitively said addition, the use of JavaGUI programming, can make the system to provide the interface more , application file I/O operation, threads, AWT, Swing, internal class, interface, abnormal processing technology, the development of this system. Keywords: time slice Round Robin; Java Programming; ; File Operation;

系统日期格式动态设置系统日期格式

系统日期格式:动态设置系统日期格式 疯狂代码 https://www.360docs.net/doc/a83000538.html,/ ?:http:/https://www.360docs.net/doc/a83000538.html,/Delphi/Article12138.html 动态设置系统日期格式 1 问题提出 在操作数据库表的时候,通常需要对表中的日期类型的数据做处理,对于系统来说存在多种 日期格式,数据库的日期字段也存在多种格式,当往数据库表中插入日期字段的时候必须两者的日期 格式匹配才能插入数据,在这种情况下,一般需要更改系统的日期格式,改成与数据库表中的日期字段 一致的格式(因为表的设计已经定好,对于日期的格式也已经唯一确定,所以一般情况下都是更改系统 的日期格式),那么就必须能够在程序中自动改变系统的日期格式,使其和表的日期格式匹配! 2 程序中修改日期格式的系统API的说明 主要需要使用下面的windows API BOOL SetLocaleInfo( LCID Locale,// locale identifier LCTYPE LCType,// type of information to set LPCTSTR lpLCData // pointer to information to set ); 本函数主要用于windows系统中设置系统的区域选项,主要包括时间,语言等选项的设置。 LCID:locale identifier (区域标志) 在系统中有两个默认值: LOCALE_SYSTEM_DEFAULT:系统默认的区域选项; LOCALE_USER_DEFAULT:当前用户的区域选项; 同时用户也可以通过 MAKELCID宏动态创建LCID; LCType:需要设定的系统信息类型; 主要包括下面的值: LOCALE_ICALENDARTYPELOCALE_SDATE LOCALE_ICURRDIGITS LOCALE_SDECIMAL LOCALE_ICURRENCY LOCALE_SGROUPING LOCALE_IDIGITS LOCALE_SLIST LOCALE_IFIRSTDAYOFWEEKLOCALE_SLONGDATE LOCALE_IFIRSTWEEKOFYEARLOCALE_SMONDECIMALSEP LOCALE_ILZERO LOCALE_SMONGROUPING LOCALE_IMEASURE LOCALE_SMONTHOUSANDSEP LOCALE_INEGCURR LOCALE_SNEGATIVESIGN LOCALE_INEGNUMBER LOCALE_SPOSITIVESIGN LOCALE_ITIME LOCALE_SSHORTDATE LOCALE_S1159 LOCALE_STHOUSAND

Java日期格式大全

日期和时间模式 日期和时间格式由日期和时间模式字符串指定。在日期和时间模式字符串中,未加引号的字母'A'到'Z'和'a'到'z'被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号(')引起来,以免进行解释。"''"表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。 定义了以下模式字母(所有其他字符'A'到'Z'和'a'到'z'都被保留): 字 母 日期或时间元素表示示例 G Era标志符Text AD M年中的月份Month July;Jul;07 W月份中的周数Number2 d月份中的天数Number10 E星期中的天数Text Tuesday;Tue H一天中的小时数(0-23)Number0 K am/pm中的小时数 (0-11) Number0 m小时中的分钟数Number30 S毫秒数Number978 Z时区RFC822time zone -0800

示例 以下示例显示了如何在美国语言环境中解释日期和时间模式。给定的日期和时间为美国太平洋时区的本地时间2001-07-0412:08:56。 日期和时间模式结果 "yyyy.MM.dd G'at'HH:mm:ss z"2001.07.04AD at12:08:56PDT "EEE,MMM d,''yy"Wed,Jul4,'01 "h:mm a"12:08PM "hh'o''clock'a,zzzz"12o'clock PM,Pacific Daylight Time "K:mm a,z"0:08PM,PDT "yyyyy.MMMMM.dd GGG hh:mm aaa"02001.July.04AD12:08PM "EEE,d MMM yyyy HH:mm:ss Z"Wed,4Jul200112:08:56-0700 "yyMMddHHmmssZ"010*********-0700 "yyyy-MM-dd'T'HH:mm:ss.SSSZ"2001-07-04T12:08:56.235-0700 同步 日期格式是不同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须是外部同步的。

Java日志系统框架的设计与实现

Java日志系统框架的设计与实现 在Java领域,存在大量的日志组件,open-open收录了21个日志组件。日志系统作为一种应用程序服务,对于跟踪调试、程序状态记录、崩溃数据恢复都有着重要的作用,我们可以把Java日志系统看作是必不可少的跟踪调试工具。 1.简介 日志系统是一种不可或缺的跟踪调试工具,特别是在任何无人职守的后台程序以及那些没有跟踪调试环境的系统中有着广泛的应用。长期以来,日志系统作为一种应用程序服务,对于跟踪调试、程序状态记录、崩溃数据恢复都有非常现实的意义。这种服务通常以两种方式存在: 1.日志系统作为服务进程存在。Windows中的的事件日志服务就属于这种类型,该类型的日志系统通常通过消息队列机制将所需要记录的日志由日志发送端发送给日志服务。日志发送端和日志保存端通常不在同一进程当中,日志的发送是异步过程。这种日志服务通常用于管理员监控各种系统服务的状态。 2.日志系统作为系统调用存在。Java世界中的日志系统和Unix环境下诸多守护进程所使用的日志系统都属于这种类型。日志系统的代码作为系统调用被编译进日志发送端,日志系统的运行和业务代码的运行在同一进程空间。日志的发送多数属于同步过程。这种日志服务由于能够同步反映处系统运行状态,通常用于调试跟踪和崩溃恢复。 本文建立的日志系统基本属于第二种类型,但又有所不同。该日志系统将利用Java线程技术实现一个既能够反映统一线程空间中程序运行状态的同步日志发送过程,又能够提供快速的日志记录服务,还能够提供灵活的日志格式配置和过滤机制。 1.1系统调试的误区 在控制台环境上调试Java程序时,此时往控制台或者文本文件输出一段文字是查看程序运行状态最简单的做法,但这种方式并不能解决全部的问题。有时候,对于一个我们无法实时查看系统输出的系统或者一个确实需要保留我们输出信息的系统,良好的日志系统显得相当必要。因此,不能随意的输出各种不规范的调试信息,这些随意输出的信息是不可控的,难以清除,可能为后台监控、错误排除和错误恢复带来相当大的阻力。 1.2日志系统框架的基本功能 一个完备的日志系统框架通常应当包括如下基本特性: 所输出的日志拥有自己的分类:这样在调试时便于针对不同系统的不同模块进行查询,从而快速定位到发生日志事件的代码。

Java实验 常用系统类

实验六常用系统类 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6与Jcreator4.0 【实验目的】 1.了解Java 常用的系统类,包括Java Applet、字符串类、输入输出流类、数学函数类、日期类、随机数类以及向量类等的基本使用方法。 2.理解Java 系统类的构成。 【实验要求】 1. 进一步了解Applet 类。 2. 掌握字符串类的使用方法。 3. 掌握数学函数类的使用方法。 4. 掌握日期类的使用方法。 5. 掌握向量类的使用方法 【实验内容】 (一)了解Applet 的生命周期 程序运行从开始大结束的过程称为程序的生命周期。独立应用程序的生命周期从main ()方法开始,直到运行结束。而Applet 应用程序的生命周期与浏览器相关。作为浏览器的一部分,Applet 程序何时运行,何时结束都由浏览器控制,Applet 对象只是作为浏览器窗口中运行的一个线程。浏览器与Applet 具有如下关系。 ●在浏览器中打开包含Applet 对象的页面时,创建并初始化其中的Applet 对象。 ●显示Applet 时,启动Applet 线程运行。 ●不显示Applet 时,停止 Applet 线程运行。 ●在浏览器中关闭页面窗口时,销毁Applet 对象。 与此相应,Applet 类中声明了与生命周期相关的4 个方法:init()、start()、stop()、destroy()。4 个方法代表Applet 的4 个活动阶段。 1.创建揭示Applet 生命周期的程序LX5_1.java。 (1)程序功能:本程序包含Applet 的4 个与生命周期相关的方法init()、start()、stop()、destroy()。程序中创建了自定义方法addWords()来显示相应的字符串。addWords 方法首先在标准输出即屏幕上显示字符串参数,然后将字符串添加到字符串缓冲区buffer,通过调用repaint 方法重画页面,首先自动调用updata 方法将当前画面清空,然后再调用paint 方法在指定位置显示字符串。 (2)编写LX5_1.java 程序文件,源代码如下。 import java.applet.Applet; import java.awt.Graphics; public class LX5_1 extends Applet { StringBuffer buffer=new StringBuffer(); public void init() { addWords("执行了初始化方法 init()..."); } public void start() { addWords("执行了开始方法start()...");

相关文档
最新文档