Java学习笔记(十一)日期日历类和随机类等
来源:互联网 发布:c语言getchar函数用法 编辑:程序博客网 时间:2024/05/08 12:48
1.Date类:包含一长整型数据
Date date = new Date();
system.out.println(date.getTime()); //获取的是毫秒数
2. Calendar类:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.YEAR,1);//获取前一年时间:
下面程序完成按指定格式显示当前时间
import java.text.SimpleDateFormat;import java.util.Date;public class Demo04 {public static void main(String[] args) {StringBuilder sb = new StringBuilder();sb.append("aaa");sb.append("bbb");sb.append("ccc");String s = sb.toString();System.out.println(s);SimpleDateFormat bartDateFormat = new SimpleDateFormat("hh-mm-EEEE-MMMM-dd-yyyy");Date date = new Date();System.out.println(date.getTime());System.out.println(bartDateFormat.format(date));}}运行结果为:aaabbbccc140755493762211-28-星期六-八月-09-2014
下面程序获取一个日期的年月日import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Demo01 {public static void main(String[] args) throws ParseException {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd-EEEE");Date date = new Date();System.out.println(simpleDateFormat.format(date));// 更常见的方法Calendar cal = Calendar.getInstance(); // 抽象类不能直接实例化String result = cal.get(Calendar.YEAR) + "年"+ (cal.get(Calendar.MONTH) + 1) + "月"+ cal.get(Calendar.DAY_OF_MONTH) + "日";System.out.println(result);// 将字符串转化为日期String str1 = "05-18-2014";SimpleDateFormat sDateFormat = new SimpleDateFormat("MM-dd-yyyy");Date date1 = sDateFormat.parse(str1);System.out.println(sDateFormat.format(date1));// 显示时间日期时分秒Date date2 = new Date();SimpleDateFormat sDateFormat1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");System.out.println(sDateFormat1.format(date2));// 获取本月1号是该年的星期几Calendar cal1 = Calendar.getInstance();cal1.set(Calendar.DATE, 1);System.out.println(cal1.get(Calendar.WEEK_OF_YEAR));}}运行结果为:2014-08-09-星期六2014年8月9日05-18-20142014-08-09 11:33:28313. Random类:常见的方法有:
public Random(); //构造函数
public void nextBytes(byte[] bytes); //生成随机数据的字节数组,存放在byte[]
public int nextInt(); //范围[0~n)整数
public long nextLong(); //long范围随机数
public float nextFloat(); //范围为0.0f~1.0f
public double nextDouble(); //范围为[0.0d~1.0d)等
程序说明:import java.util.Random;public class RandomNumber {public static void main(String[] args) {Random rand1 = new Random();byte[] b = new byte[5];rand1.nextBytes(b);//产生5个随机的自己额数据for(int i=0;i<b.length;i++)System.out.print(b[i]+"\t");System.out.println();for(int i =0;i<5;i++){System.out.print(rand1.nextInt(100)+"\t");}System.out.println();for(int i=0;i<3;i++){System.out.print(rand1.nextDouble()+"\t");}System.out.println();}}运行结果为:1175-117107-3790835331700.70604662473609810.162475144989724820.5271465262376611
下面的程序演示了Java常用的三种产生随机数的方法:import java.util.Random;public class Demo02 {public static void main(String[] args) {// 随机数的使用//(1)使用Math类中的randomDouble r1 = Math.random();System.out.println(r1);//(2)使用Random类Random r2 = new Random();int result = r2.nextInt(100);//产生0-100之间的随机数System.out.println(result);//使用随机种子Random r3 = new Random(1000);int result2 = r3.nextInt(100);System.out.println(result2);//(3)当前时间作为随机种子Random r4 = new Random(System.currentTimeMillis());int result3 = r4.nextInt(100);System.out.println(result3);}}运行结果为:0.67870787019197545787944. 其他常见格式类
(1)MessageFormat类
import java.text.MessageFormat;public class Demo03 {/** * @param args */public static void main(String[] args) {// 使用MessageFormat类String sql = MessageFormat.format("select student * from where stuNu = {0} and password = {1} ",1001, 123456);System.out.println(sql);// MessageFormat类的缺点String userName = "admin";String passWord = "123456";// 在此注意占位符有无单引号的区别String sql2 = MessageFormat.format("select student * where username = \"{0}\" and passwor = \'{1}\'",userName, passWord);System.out.println(sql2);// sql语句要求参数用单引号引出,因此解决上述问题的方法为:String sql3 = String.format("select student * where username = '%s' and passwor = '%s'",userName, passWord);System.out.println(sql3);}}运行结果为:select student * from where stuNu = 1,001 and password = 123,456 select student * where username = "admin" and passwor = {1}select student * where username = 'admin' and passwor = '123456'(2)NumberFormat类:import java.text.NumberFormat;public class Demo04 {public static void main(String[] args) {Double myNumber = 23323.3323232323;Double test = 0.3434;// getInstance()// 返回当前缺省语言环境的缺省数值格式。String myString = NumberFormat.getInstance().format(myNumber);System.out.println(myString);// getCurrencyInstance()返回当前缺省语言环境的通用格式myString = NumberFormat.getCurrencyInstance().format(myNumber);System.out.println(myString);// getNumberInstance() 返回当前缺省语言环境的通用数值格式。myString = NumberFormat.getNumberInstance().format(myNumber);System.out.println(myString);// getPercentInstance() 返回当前缺省语言环境的百分比格式。myString = NumberFormat.getPercentInstance().format(test);System.out.println(myString);// setMaximumFractionDigits(int) 设置数值的小数部分允许的最大位数。// setMaximumIntegerDigits(int) 设置数值的整数部分允许的最大位数。// setMinimumFractionDigits(int) 设置数值的小数部分允许的最小位数。// setMinimumIntegerDigits(int) 设置数值的整数部分允许的最小位数.NumberFormat format = NumberFormat.getInstance();format.setMinimumFractionDigits(3);format.setMaximumFractionDigits(5);format.setMaximumIntegerDigits(10);format.setMinimumIntegerDigits(0);System.out.println(format.format(2132323213.23266666666));}}运行结果为:23,323.332¥23,323.3323,323.33234%2,132,323,213.23267
0 0
- Java学习笔记(十一)日期日历类和随机类等
- Java--Date(日期)和Calendar(日历)类
- [Java]实用工具类库java.util(总纲、日期类、日历类、随机类、向量、栈、哈希表、位集合类)
- (黑马程序员)日期和日历类学习总结
- java学习笔记——日期操作类(date,calendar等)
- Java中简单日期类和日历类的小结
- java学习笔记(十一)
- Java学习笔记(十一)
- Java学习笔记(十一)
- Java学习笔记(十一)
- java学习笔记(十一)
- 日历分析(一) java中的日期类
- JAVA学习笔记(十一)- 重载和重写
- JAVA学习笔记——日历类Calendar
- 日期日历类
- JAVA的日期类DATE、日期格式化、Calendar日历类
- Java学习笔记十一
- Java笔记十一.集合类(二)
- Codeforces Round #260 (Div. 2) A ~ C
- SVPullToRefresh 下拉刷新导航栏位置错误
- Codeforces 456B Fedya and Maths(数学)
- eclipse 不同版本,插件相关
- Linux下查看文件内容
- Java学习笔记(十一)日期日历类和随机类等
- Python单例模式的4种实现方法
- [水]ZOJ1457
- 策略模式
- cf 456 c
- 【机房重构】周结账单
- 解决JSP中文乱码问题
- 关于new/delete 与free/malloc,指针与引用 总结
- 当刷机工具遇到SetupConnection时的解决方法