java时间的用法

java时间的用法
java时间的用法

**

*

Title: 时间格式转化与计算

*/

package ;

import

import

import .*;

public class DateTime {

public DateTime() {

}

/**

* 取得系统当前时间

* @return String yyyy-mm-dd

*/

public String getCurrentDate() {

Calendar rightNow = ();

int year = ;

int month = + 1;

int day = ;

return year + "-" + month + "-" + day;

}

/**

* 取得系统当前时间

* @return String yyyy年mm月dd日

*/

public String getCurrentDate1() {

Calendar rightNow = ();

int year = ;

int month = + 1;

int day = ;

return year + "年" + month + "月" + day + "日";

}

/**

* 取得系统当前时间

* @return String yyyymmdd

*/

public String getCurrentDate2() {

Calendar rightNow = ();

int year = ;

int month = + 1;

int day = ;

return year + "" + month + "" + day;

}

/**

* 取得系统当前时间

* @return String yyyy-mm

*/

public String getCurrentDate3() {

Calendar rightNow = ();

int year = ;

int month = + 1;

2005-6-282005-10-12

2005-1-8

怎样计算两个时间之间的间隔?

间隔=()();得出来的是毫秒数.

除1000是秒,再除60是分,再除60是小时..............................

记住java标准库中所有时间类都以此为基础转化的,只是他写好了一些转化的方法给你用而已.但都离不开这个毫秒数为基础.

2. t=();m=+1;这里为什么要加一?

在java语言里,date的month的取值范围是:0~11,与人们的自然表达上相差1。

3. 系统时间与当前日期的区别?

系统时间确切的说应该是

();

new Date()是当前日期,虽然它getTime();和();

一样,但();

4. 如何计算两个日期的天数差值?

long beginTime = ();

long endTime2 = ();

long betweenDays = (long)((endTime - beginTime) / (1000 * 60 * 60 *24) + ;

5. 如何比较日期时间大小?

第一种方法:

use Calendar object to compare

class can be used to compare date. In order to do this,

you guy should parse that string into int year, month, day a nd construct a

Calendar object, and then do comparison.

Below is a sample

StringTokenizer token = new StringTokenizer(your string,"-");

int year = ());

int month = ());

int day = ());

Calendar date = ();

(year,month,day);

Calendar today = ();

if(today)){

...

}

第二种方法

Date nowDate=new Date();格式化日期的问题\r

目的:

第一次求日期

formatter = new "yyyy-MM-dd");

String riqi=(currentTime_1);

第二次求时间\r

format1 = new "hhmmss");

currentTime_2 = new

String shijian=(currentTime_2);

得到的结果是

2002-02-19和115324(11点53分24秒)

实现:

formatter = new "yyyy-MM-dd-H-mm-ss");

currentTime_1 = new

String str_date = (currentTime_1);

StringTokenizer token = new StringTokenizer(str_date,"-");

String year = ();

String month= ();

String day = ();

String hh = ();

String mm = ();

String ss = ();

String riqi=year+"年\\"+month+"月"+day+"日"+" "+hh+"点\\"+mm+"分"+ss+"秒\\";

String newdir=year+month+day;

String wenjian = hh+mm+ss;

7. 怎么得到一个月的天数?

date =

示例程序代码在Java Web服务器上接受测试,该服务器配置了JDK 。示例写得很标准,在Tomcat或者其他JSP Web服务器(JDK 或者以后版本)上运行的效果几乎完全一样。

通过表单把日期传递给JSP页

Date(日期)参数是用户从3栏下拉列表中选出来的。用户提交表单之后,这些参数即被传送给处理页面。

在进行日历编程时不要忘了导入:

〈%@ page import="" %〉

处理页面的第1个任务是接收以下日期参数值:Date、Month和Year。

int curDate = 1;

if("curDate") != null)

{

curDate = ("curDate"));

}

注意页面参数被转换为int类型,马上我们就知道为什么要这么做了。Calendar对象

我们的目标是创建和设置一个Calendar对象,用它进行日期计算。为此,我们首先需要实例化一个Calendar对象。

Calendar cal = ();

()返回一个代表当前日期和时间的Calendar对象。

();

(curYear, curMonth , curDate);

clear()方法清空Calendar,这样我们才可能给该对象分配我们自己的日期值并为将来的计算做好准备。注意这些参数的顺序:首先是年,最后是日期。

从Calendar获取信息

以下是一组Calendar字段:

日期

DATE, DAY_OF_MONTH, DAY_OF_WEEK, DAY_OF_YEAR

时间

HOUR_OF_DAY, MINUTE, MILLISECOND, SECOND

WEEK_OF_MONTH, WEEK_OF_YEAR

YEAR

以上这些字段都可以通过Calendar的get()方法进行访问,结果返回一个整数。以下代码示例显示了以上过程。

一周内的日期

int dayOfWeek = ;

("〈br〉Day of Week: " + dayOfWeek + " 〈br〉");

一月内的日期

int dayOfMonth = ;

("〈br〉Day of Month: " + dayOfMonth + " 〈br〉");

定位特定的日期

为了找出一周内特定的某一天就必须访问DAY_OF_WEEK字段。该字段包含了范围从1到7的整数值,1代表星期一,2代表星期二,其余以次类推。

int dayOfWeek = ;

这里有个向用户显示日期的好方法,那就是声明一个包含一周内天数的数组。然后就可以很方便地显示各个日期了。只要采用DAY_OF_WEEK整数访问数组内的当前日期即可。

String[] weekdays = new String[]

{“”, "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};

〈%=weekdays[]%〉

注意该数组的第1个元素为空。这是因为DAY_OF_WEEK字段值的范围是从1到7,而数组元素的引用范围则是从0到6。在数组开头加一个空元素就可以保证DAY_OF_WEEK字段的值和数组引用相匹配了。

找出周末

为了找出某天是否正好是星期天或者星期六可以编写以下代码:

int day = ;

if(day == 6 || day == 7)

{

//执行与周末有关的操作

}

工作日

现在我们需要计算出某个月内的工作日天数。用户输入日期(参看)之后把参数发送给处理页面(参看)。在处理页面上,我们把Calendar对象设置为该月的第1天。

();

(curYear, curMonth , 1);

int maxDays = ;

("〈br〉Number of days in month: " + maxDays + "〈br〉");

我们还需要知道某个月内到底有多少天。getActualMaximum()方法返回一个整数值,该值就包含了每个月内的最多天数:2月是28天,3月是31天等等。在闰年的话2月的天数返回 29天。

一旦我们得到了每个月内的最多天数,我们就可以很方便地循环每月天数判断是否是周末或者工作一日。我们用add()方法给Calendar递增1,如程序清单A

所示。

用SimpleDateFormat向用户显示日期

SimpleDateFormat处理显示日期的最常用需求,它可以用来把日期转换为特定的保存格式。你可以采用以下的导入指示符:

〈%@ page import="" %〉

以下的代码给用户显示日期:

SimpleDateFormat formatter = new SimpleDateFormat("dd/MMM/yyyy"); ("〈br〉" + ()) );

SimpleDateFormat对象接受一个字符串作为其对象构造器,该字符串参数包含了用户希望采用的显示格式。这个格式字符串可以包含额外的格式字符串,比如空格(“”)、反斜线(“/”)和破折号(“-”)。

表A列出了所有有效的(常用的)显示格式。

表A

格式

示例

“dd/MMM/yyyy”

06/Mar/1974

"dd-MM-yyyy"

06-03-1974

"dd MMMMMMMMM yyyy"

06 March 1974

"EEEEEEEEE, MMMMMMMMM dd, yyyy"

Wednesday, March 06, 1974

有效的SimpleDateFormat显示格式

表B是SimpleDateFormat参数的缩略语表。

表B

y

year

M

month in year

d

day in month

D

day in year

w

week in year

W

week in month

E

day in week

SimpleDateFormat参数

重用代码--FormatTitle

在同一页面上实施多种格式转换有个简单方法:在Declaration元素中是声明FormatTitle方法,它接受两个参数,一个引用Calendar对象,另一个返回格式。

〈%!

public String FormatTitle(Calendar fCal, String format)

{

SimpleDateFormat formatter = new SimpleDateFormat(format);

return () ));

}

%〉

为了显示日期,我们调用FormatTitle()并为其传递Calendar和格式字符串参数。

〈%=FormatTitle(cal, “dd-MMM-yyyy”)%〉

C获取系统时间及时间格式

1、新建一个windows form 窗体应用程序。 2、在该窗体加载时,输入如下代码 [csharp] view plaincopy Thread P_thread = new Thread( () => //lambda表达式(参数列表)=>{执行语句} lambda表达式是比匿名方法更加简洁的一种匿名函数语法 { while (true) {//public Object Invoke (Delegate method)在(拥有此控件的基础窗口句柄的)线程上执行指定的委托。 //关于为何使用invoke方法,参见C#中跨线程调用控件的线程安全性方法一文 this.Invoke( (MethodInvoker)delegate()//methodinvoke 表示一个委托,该委托可执行托管代码中声明为void 且不接受任何参数的任何方法。 //在对控件的Invoke 方法进行调用时或需要一个简单委托又不想自己定义时可以使用该委托。 { this.Refresh(); Graphics P_Graphics = CreateGraphics(); // Control.CreateGraphics方法,为控件创建Graphics。 //public Graphics CreateGraphics () 返回值为控件的Graphics。Graphics 类提供将对象绘制到显示设备的方法 //public void DrawString( // string s, // Font font, // Brush brush, // PointF point //)在指定位置point并且用指定的Brush 和Font 对象绘制指定的文本字符串s。 P_Graphics.DrawString("系统时间:" + DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒"), new Font("宋体", 15), Brushes.Blue, new Point(10, 10)); });//this.invoke Thread.Sleep(1000); }//while

JAVA中获取当前时间

Java中获得当前时间的方法 2008年06月16日星期一下午 10:06 有两种方法: 方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码: import java.util.*; import java.text.*; //以下默认时间日期显示方式都是汉语语言方式 //一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:2008-6-16 20:54:53 //以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestDate2.java public class TestDate { public static void main(String[] args) { Date now = new Date(); Calendar cal = Calendar.getInstance(); DateFormat d1 = DateFormat.getDateInstance(); //默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-16 20:54:53) String str1 = d1.format(now); DateFormat d2 = DateFormat.getDateTimeInstance(); String str2 = d2.format(now); DateFormat d3 = DateFormat.getTimeInstance(); String str3 = d3.format(now); DateFormat d4 = DateFormat.getInstance(); //使用SHORT风格显示日期和时间 String str4 = d4.format(now); DateFormat d5 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //显示日期,周,时间(精确到秒) String str5 = d5.format(now); DateFormat d6 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //显示日期。时间(精确到秒) String str6 = d6.format(now); DateFormat d7 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //显示日期,时间(精确到分) String str7 = d7.format(now); DateFormat d8 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);

基于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):

wincc系统日期时间获取

wincc系统日期时间获取 系统时间的获得,有两种办法,一是建立TAG,二是使用函数获取系统时间 方法一: 在[Tag Management]添加新的驱动"System Info.chn",然后在新添加的[SYSTEM INFO]新建连接,这样就可以创建实际TAG了; 下面新建几个TAG: 名字:date, 数据类型:text tag 8-bit character set,地址设定为Function:date,format:"MM-DD-YYYY" 名字:time, 数据类型:text tag 8-bit character set,地址设定为Function:Time,format:"HH:MM:SS" 根据上面的方法依次建立year,mon,day,week等TAG,请分别设置对应的format内容 TAG建立完成了,就可以读到系统时间了。新建一个图形文件,分别放置几个静态文本框[static text],把TEXT属性连接到上面新建的TAG,就可以显示系统日期时间,利用WEEK还能显示今天是星期几了. 方法二: 使用 C脚本获得系统时间 #include "apdefap.h" char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { time_t timer;

struct tm *ptm; char *p; time(&timer); ptm=localtime(&timer); p=SysMalloc(9); sprintf(p,"%04d:%02d:%02d",ptm->tm_year+1900,ptm->tm_mon+1,p tm->tm_mday); return(p); } 其中 //系统时间已经获得 //年: ptm -> tm_year+1900 //月: ptm-> tm_mon+1 //日: ptm -> tm_mday //星期: ptm -> tm_wday *注意这个,tm_wday返回的是整数,必须经过转换才能用来表示星期几

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

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

实验5 JAVA常用类

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验实验日期成绩指导教师批改日期 实验5 JAVA常用类实验名称 一.实验目的: (1)掌握常用的String,StringBuffer(StringBuilder)类的构造方法的使用;(2)掌握字符串的比较方法,尤其equals方法和==比较的区别; (3)掌握String类常用方法的使用; (4)掌握字符串与字符数组和byte数组之间的转换方法; (5)Date,Math,PrintWriter,Scanner类的常用方法。 二.实验内容 1.二进制数转换为十六进制数(此程序参考例题249页9. 2.13) 程序源代码 import java.util.*; public class BinToHexConversion{ //二进制转化为十六进制的方法 public static String binToHex(String bin){ int temp; //二进制转化为十六进制的位数 if(bin.length()%4==0) temp = bin.length()/4; else temp = bin.length()/4 + 1; char []hex = new char[temp]; //十六进制数的字符形式 int []hexDec = new int[temp];//十六进制数的十进制数形式 int j = 0; for(int i=0;i=0&&dec<10) return (char)('0'+dec-0); else if(dec>=10&&dec<=15) return (char)('A'+dec-10); else return '@'; }

labView中如何获取windows当前系统时间

labView中如何获取windows当前系统时间 《labview8.2入门到精通》的PPT,第4章里面有个练习是“写一个VI获取当前系统时间,并将其转换为字符串和浮点数”。完成效果如图。我要怎么来获取当前系统的时间呢? 程序如下,还是比较简单的,用到的函数都在编程---定时和编程---数值---转换里 问题: 我从一个仪器当中读取到了GPS时间,并想在LabVIEW中以较高的分辨率设定Windows系统时间。我注意到LabVIEW的时间函数选版中有获取时间/日期的VI,但没有设定时间的VI。如何才能在LabVIEW中实现时间设定?

解答: LabVIEW中没有现成的VI用于系统时间设定,但可以通过Windows SDK来实现。参考以下的步骤,通过调用库函数节点的方式,调用kernel32.dll中SetSystemTime函数,可以设定系统时间: 1. 在程序框图中放置一个调用库函数节点。双击此节点打开调用 库函数对话框。 2. 点击浏览按钮并选择kernel32.dll (一般放置于 "C:\WINDOWS\system32\kernel32.dll")。 3. 在函数名下拉列表中选择"SetSystemTime" 。 4. 在调用规范下拉列表中选择"stdcall (WINAPI)" 。 5. 在返回类型中选择“数值”以及“有符号8位整数”。 6. 点击添加参数并在类型中选择“匹配至类型”,接着在数据格式 中选择“句柄指针”。 7. 点击确定按钮,完成对调用库函数节点的配置。 8. 这个函数以一个包含八个双字节(16位整数)的结构体作为参 数。在LabVIEW中,需要创建一个包含八个双字节的簇来传 递这个参数。八个双字节分别为年、月、星期、日、小时、分 钟、秒以及毫秒。将此簇连接至调用库函数节点的参数1。 9. 输入相应的值,并运行程序以设定系统时间。

java获取当前时间

有两种方法: 方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码: import java.util.*; import java.text.*; //以下默认时间日期显示方式都是汉语语言方式 //一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:2008-6-16 20:54:53 //以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestDate2.java public class TestDate { public static void main(String[] args) { Date now = new Date(); Calendar cal = Calendar.getInstance(); DateFormat d1 = DateFormat.getDateInstance(); //默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-16 20:54:53) String str1 = d1.format(now); DateFormat d2 = DateFormat.getDateTimeInstance(); String str2 = d2.format(now); DateFormat d3 = DateFormat.getTimeInstance(); String str3 = d3.format(now); DateFormat d4 = DateFormat.getInstance(); //使用SHORT风格显示日期和时间 String str4 = d4.format(now); DateFormat d5 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //显示日期,周,时间(精确到秒) String str5 = d5.format(now); DateFormat d6 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //显示日期。时间(精确到秒) String str6 = d6.format(now); DateFormat d7 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //显示日期,时间(精确到分) String str7 = d7.format(now);

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/463705533.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/463705533.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/463705533.html,"));

JAVA中常用类的常用方法

JAVA中常用类的常用方法 一、https://www.360docs.net/doc/463705533.html,ng.Object类 1、clone()方法 创建并返回此对象的一个副本。要进行“克隆”的对象所属的类必须实现https://www.360docs.net/doc/463705533.html,ng. Cloneable接口。 2、equals(Object obj)方法 ?功能:比较引用类型数据的等价性。 ?等价标准:引用类型比较引用,基本类型比较值。 ?存在特例:对、Date及封装类等类型来说,是比较类型及对象的内容而不考虑引用的是否为同一实例。 3、finalize()方法 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 4、hashCode()方法返回该对象的哈希码值。 5、notify()方法唤醒在此对象监视器上等待的单个线程。 6、notifyAll()方法唤醒在此对象监视器上等待的所有线程。 7、toString()方法 返回该对象的字符串表示。在进行String与其它类型数据的连接操作时,自动调用toString()方法。可以根据需要重写toString()方法。 8、wait()方法 在其他线程调用此对象的notify() 方法或notifyAll() 方法前,导致当前线程等待。 二、字符串相关类 l String类 charAt(int index) 返回指定索引处的char 值。 compareTo(String anotherString) 按字典顺序比较两个字符串。 compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 concat(String str) 将指定字符串连接到此字符串的结尾。 endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 equals(Object anObject) 将此字符串与指定的对象比较。 equalsIgnoreCase(String anotherString) 将此String 与另一个String 比较,不考虑大小写。indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 length() 返回此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar 替换此字符串中出现的所有oldChar 得到的。split(String regex) 根据给定正则表达式的匹配拆分此字符串。 startsWith(String prefix) 测试此字符串是否以指定的前缀开始。 substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginIndex 处开

Java中获取比毫秒更精确的时间

] java中获取比毫秒更为精确的时间 (2012-07-03 11:54:33) 转载▼ 分类:实践经验 标签: 杂谈 from: https://www.360docs.net/doc/463705533.html,/paul_lh/article/details/6419982 关键词:java 毫秒微秒纳秒System.currentTimeMillis() 误差 在对新写的超快xml解析器和xpath引擎进行效率测试时,为获取执行时间,开始也没多想就用了System.currentTimeMillis() 来做的。由此碰到一个极其诡异的问题,同样的代码循环执行数次,分析每一次的执行时间,发现一大部分执行时间为小于1毫秒,但其间也发现有相当一部分的执行时间有非常大的跳跃,而且时间都近似16毫秒左右。这个1毫秒和16毫秒结果,以计算机的运行速度看,差距是惊人的,必须找出其原因。 根据经验,在16毫秒时间内,cpu可以运算的指令数量是相当惊人的,所以可以基本断定这16ms的差距,应当不是cpu在执行指令,另外因为测试过程中gc输出也已经打开,未见gc发生,所以怀疑可能是发生了什么io阻塞,比如文件读写、加载类库、或者什么网络操作等,由于笔者测试的系统的环境比较复杂,其间有用到ehCache,数据库操作等,排查起来非常不容易。 在困扰了好一阵之后,忽然想到可能计时系统有误差,这才翻回来查了下 System.currentTimeMillis() 的文档,原来这个方法调用了个native方法,获取的时间精度会依赖于操作系统的实现机制。奶奶的! 既然不准,就看看有没更准的方法,在jdk5源码中,挨着System.currentTimeMillis() 定义就是System.nanoTime() 方法,靠,一下来了个精准1000000倍的取纳秒的方法,不过看

操作系统时间片轮转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、测试结果 输入时间片,进程数,进程到达时间,服务时间

Java取日期的所有时间点可根据年月日

package com.util; import java.text.DateFormat; import java.text.ParseException; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class TimeUtil { //用来全局控制上一周,本周,下一周的周数变化 private int weeks = 0; private int MaxDate;//一月最大天数 private int MaxYear;//一年最大天数 /** * @param args */ public static void main(String[] args) { TimeUtil tt = new TimeUtil(); // System.out.println("获取当天日期:"+tt.getNowTime("yyyy-MM-dd")); // System.out.println("获取本周一日期:"+tt.getMondayOFWeek()); // System.out.println("获取本周日的日期~:"+tt.getCurrentWeekday()); // System.out.println("获取上周一日期:"+tt.getPreviousWeekday()); // System.out.println("获取上周日日期:"+tt.getPreviousWeekSunday()); // System.out.println("获取下周一日期:"+tt.getNextMonday()); // System.out.println("获取下周日日期:"+tt.getNextSunday()); // System.out.println("获得相应周的周六的日期:"+tt.getNowTime("yyyy-MM-dd")); // System.out.println("获取本月第一天日期:"+tt.getFirstDayOfMonth()); // System.out.println("获取本月最后一天日期:"+tt.getDefaultDay()); // System.out.println("获取上月第一天日期:"+tt.getPreviousMonthFirst()); // System.out.println("获取上月最后一天的日期:"+tt.getPreviousMonthEnd()); // System.out.println("获取下月第一天日期:"+tt.getNextMonthFirst()); // System.out.println("获取下月最后一天日期:"+tt.getNextMonthEnd()); // System.out.println("获取本年的第一天日期:"+tt.getCurrentYearFirst()); DateFormat fmt =new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { date = fmt.parse("2008-02-21"); } catch (ParseException e) {

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); } }

C#获取当前系统时间

C#获取当前系统时间 2010-01-02 16:24 --DateTime 数字型 System.DateTimecurrentTime=new System.DateTime(); 取当前年月日时分秒 currentTime=System.DateTime.Now; 取当前年 int 年=currentTime.Year; 取当前月 int 月=currentTime.Month; 取当前日 int 日=currentTime.Day; 取当前时 int 时=currentTime.Hour; 取当前分 int 分=currentTime.Minute; 取当前秒 int 秒=currentTime.Second; 取当前毫秒 int毫秒=https://www.360docs.net/doc/463705533.html,lisecond; (变量可用中文) 取中文日期显示——年月日时分 string strY=currentTime.ToString("f"); //不显示秒 取中文日期显示_年月 string strYM=currentTime.ToString("y"); 取中文日期显示_月日 string strMD=currentTime.ToString("m"); 取当前年月日,格式为:2003-9-23 string strYMD=currentTime.ToString("d"); 取当前时分,格式为:14:24 string strT=currentTime.ToString("t"); DateTime.Now.ToString();//获取当前系统时间完整的日期和时间DateTime.Now.ToLongDateString();//只显示日期 xxxx年xx月xx日,一个是长日期 DateTime.Now.ToShortDateString();//只显示日期 xxxx-xx-xx 一个是短日期 //今天 DateTime.Now.Date.ToShortDateString(); //昨天的 DateTime.Now.AddDays(-1).ToShortDateString(); //明天的 DateTime.Now.AddDays(1).ToShortDateString(); //本周(注意这里的每一周是从周日始至周六止) DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString(); DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString(); //上周,上周就是本周再减去7天 DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();

java显示当前时间

显示当前时间: System.CurrentTimeMillis();来获取所过的毫秒数 java.sql.date是java.util.date的子集,在sql语句中的date都是sql.date Date 类从Java 开发包(JDK) 1.0 就开始进化, 当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月, 日, 和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了, 我们将在本文中进一步讨论它. 这种改进旨在更好的处理日期数据的国际化格式. 就象在JDK 1.1中一样, Date 类实际上只是一个包裹类, 它包含的是一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1 月1日00:00:00这一刻之前或者是之后经历的毫秒数. 创建一个日期对象 让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子. 这个时间 通常被称为Java 虚拟机(JVM)主机环境的系统时间. import java.util.Date; public class DateExample1 { public static void main(String[] args) { // Get the system date/time Date date = new Date(); System.out.println(date.getTime());

} } 在星期六, 2001年9月29日, 下午大约是6:50的样子, 上面的例子在系统输出设备上显示的结果是1001803809710. 在这个例子中,值得注意的是我们使用了Date 构造函数创建一个日期对象, 这个构造函数没有接受任何参数. 而这个构造函数在内部使用了System.currentTimeMillis() 方法来从系统获取日期. 那么, 现在我们已经知道了如何获取从1970年1月1日开始经历的毫秒数了. 我们如何才能以一种用户明白的格式来显示这个日期呢? 在这里类java.text.SimpleDateFormat 和它的抽象基类 java.text.DateFormat 就派得上用场了. 日期数据的定制格式 假如我们希望定制日期数据的格式, 比方星期六-9月-29日-2001年. 下面的例子展示了如何完成这个工作: import java.text.SimpleDateFormat; import java.util.Date; public class DateExample2 { public static void main(String[] args) { SimpleDateFormatbartDateFormat=newSimpleDateFormat("EEEE-MMMM -dd-yyyy"); Date date = new Date(); System.out.println(bartDateFormat.format(date)); } } 只要通过向SimpleDateFormat 的构造函数传递格式字符串"EEE-MMMM-dd-yyyy", 我们就能够指明自己想要的格式. 你应该可以看见, 格式字符串中的ASCII 字符告诉格式化函数下面显示日期数据的哪一个部分. EEEE是星期, MMMM是月, dd是日, yyyy是年. 字符的个数决定了日期是如何格式化的.传递"EE-MM-dd-yy"会显示Sat-09-29-01. 请察看Sun 公司的Web 站点获取日期格式化选项的完整的指示. 将文本数据解析成日期对象 假设我们有一个文本字符串包含了一个格式化了的日期对象, 而我们希望解析这个字符串并从文本日期数据创建一个日期对象. 我们将再次以格式化字符串"MM-dd-yyyy" 调用SimpleDateFormat类, 但是这一次, 我们使用格式化解析而不是生成一个文本日期数据. 我们的例子, 显示在下面, 将解析文本字符串 "9-29-2001"并创建一个值为001736000000 的日期对象. 例子程序:

操作系统课程设计时间片轮转算法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;

相关文档
最新文档