package cn.jason.datas;

import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

/**
* 日期-格式相关测试
* @author 小风微灵
*
*/
public class MyDate {

/*****************String格式的时间字符串*******************************/
/**
* 获取系统当前时间:毫秒数
* @return 测试结果�?46669015328
*/
public static long getCurrentTime(){
return System.currentTimeMillis();
}
/**
* 获取系统当前时间:yyyy-MM-dd
* @param time 毫秒�?
* @return 测试结果�?016-06-23 java.sql.Date
*/
public static Date getCurrentTime(long time){
return new java.sql.Date(time);
}
/**
* 获取当前系统时间的字符串:默认格式: yyyy-MM-dd hh:mm:ss
* @return
*/
public static String getDates_String(){
//获取实例
Calendar now=Calendar.getInstance();
StringBuilder date=new StringBuilder();
date.append(now.get(Calendar.YEAR)); //�?
date.append("-");
date.append(now.get(Calendar.MONTH)+1); //�?
date.append("-");
date.append(now.get(Calendar.DAY_OF_MONTH)); //�?
date.append(" ");
date.append(now.get(Calendar.HOUR_OF_DAY)); //�?
date.append(":");
date.append(now.get(Calendar.MINUTE)); //�?
date.append(":");
date.append(now.get(Calendar.SECOND)); //�?
return date.toString();
}
/**
* 获取当前系统时间的字符串�?自定义格�?
* @param preffix 日期之间的格�?
* @return
*/
public static String getDates_String(String dateffix){
//获取实例
Calendar now=Calendar.getInstance();
StringBuilder date=new StringBuilder();
date.append(now.get(Calendar.YEAR)); //�?
date.append(dateffix);
date.append(now.get(Calendar.MONTH)+1); //�?
date.append(dateffix);
date.append(now.get(Calendar.DAY_OF_MONTH)); //�?
date.append(" ");
date.append(now.get(Calendar.HOUR_OF_DAY)); //�?
date.append(":");
date.append(now.get(Calendar.MINUTE)); //�?
date.append(":");
date.append(now.get(Calendar.SECOND)); //�?
return date.toString();
}
/**
* 获取当前系统时间的字符串 自定义格�? 示例:�?yyyy年MM月dd�? hh时mm分ss秒�?
* @param dateffixs 至少三个元素
* @return
*/
public static String getDates_String(String[] ffixs){

String[] dateffixs=new String[ffixs.length];
for (int i = 0; i < ffixs.length; i++) {
dateffixs[i]=ffixs[i];
}
//获取实例
Calendar now=Calendar.getInstance();
StringBuilder date=new StringBuilder();
date.append(now.get(Calendar.YEAR)); //�?
date.append(dateffixs[0]);
date.append(now.get(Calendar.MONTH)+1); //�?
date.append(dateffixs[1]);
date.append(now.get(Calendar.DAY_OF_MONTH)); //�?
date.append(dateffixs[2]);
date.append(" ");
date.append(now.get(Calendar.HOUR_OF_DAY)); //�?
date.append(dateffixs.length>=4?dateffixs[3]:":");
date.append(now.get(Calendar.MINUTE)); //�?
date.append(dateffixs.length>=5?dateffixs[4]:":");
date.append(now.get(Calendar.SECOND)); //�?
date.append(dateffixs.length>=6?dateffixs[5]:"");
return date.toString();
}

/*********【格式转化�?********String->Date格式的时间字符串*******************************/
/**
* 日期格式转换 String->Date
* @param times 日期字符�? 参数格式:yyyy-MM-dd HH:mm:ss
* @return Date类型日期
*/
public static Date getDates_Date(String times){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date today=null;
try {
today = sdf.parse(times);
} catch (ParseException e) {
e.printStackTrace();
}
return today;
}
/**
* 日期格式转换 Date->String
* @param times Date java.util.Date
* @return String
*/
public static String getDates_Date(Date times){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateNowStr = sdf.format(times);
return dateNowStr;
}

/**
* 程序入口
* @param params 程序初始化参�?
*/
public static void main(String[] params) {

long times=MyDate.getCurrentTime();
Date date=MyDate.getCurrentTime(times);

System.out.println("当前时间(毫秒):"+times);
System.err.println("当前时间(正常):"+date);

System.out.println("当前时间(正常):"+getDates_String("--"));
String[] strings={"年","月","日","时","分","秒"};
System.err.println("当前时间(正常)"+getDates_String(strings));
System.err.println("当前时间(正常)"+getDates_String());

System.out.println("Date时间:"+getDates_Date("2012-09-11 12:22:11"));
System.out.println("Date时间:"+getDates_Date(date));

/**测试结果
* 当前时间(毫秒)�?466694454812
* 当前时间(正常)�?016-06-23
* 当前时间(正常)2016--6--23 23:7:34
* 当前时间(正常)2016�?�?3�?23�?�?4�?
* 当前时间(正常)2016-6-23 23:7:34
* Date时间:Tue Sep 11 12:22:11 CST 2012
* Date时间�?016-06-23 23:07:34
*/

}
}

日期Calendar/Date的用法的更多相关文章

  1. 转——JAVA中calendar,date,string 的相互转换和详细用法

    package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class Ca ...

  2. day319 1、正则表达式的定义及使用 2、Date类的用法 3、Calendar类的用法

    1.正则表达式的定义及使用2.Date类的用法3.Calendar类的用法 一.正则表达式 ###01正则表达式的概念和作用* A: 正则表达式的概念和作用* a: 正则表达式的概述* 正则表达式也是 ...

  3. java之Date(日期)、Date格式化、Calendar(日历)

    参考http://how2j.cn/k/date/date-date/346.html Date(日期) Date类 注意:是java.util.Date; 而非 java.sql.Date,此类是给 ...

  4. 【Linux】date命令用法详解(日期格式)

    inux下date命令用法 date [OPTION]… [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] date命令参数 ...

  5. java Calendar Date 获取指定日期所在月或年的第一天和最后一天

    一.获取传入日期所在月的第一天 public static Date getFirstDayDateOfMonth(final Date date) { final Calendar cal = Ca ...

  6. 【转】Date类学习总结(Calendar Date 字符串 相互转换 格式化)

    原文网址:http://www.blogjava.net/jerry-zhaoj/archive/2008/10/08/233228.html Date类学习总结 1.计算某一月份的最大天数 Cale ...

  7. Date类学习总结(Calendar Date 字符串 相互转换 格式化)

    Date类学习总结 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance();time.clear();time.set(Calendar.YEAR,yea ...

  8. Java Calendar Date使用总结

    Java Calendar Date使用总结 package cn.outofmemory.codes.Date; import java.util.Calendar; import java.uti ...

  9. Calendar类经常用法 日期间的转换 set方法有巨坑

           今天发现项目的工具类方法有个bug,并且还能迷惑你的bug,刚開始也是非常迷惑,由于这个bug之前出现过,可是过了两天就自己好了.今天又出现了.哦对,今天是 2017年3月31日,之 ...

随机推荐

  1. js和jsp

    1.js中的字符串赋值可以用' '或者" ". alert('1111'); alert("1111"); document.getElementById('d ...

  2. STM32F10x 学习笔记6(USART实现串口通讯 2)

    这次讲讲利用串口收发中断来进行串口通讯.STM32 上为每个串口分配了一个中断.也就是说无论是发送完成还是收到数据或是数据溢出都产生同一个中断.程序需在中断处理函数中读取状态寄存器(USART_SR) ...

  3. android-wear开发之定义布局

    Android Wear使用跟手机一样的布局技术,但需要对特定情况进行设计.不要把手机的UI直接照搬过来.更多可查看:Android Wear Design Guidelines 当创建android ...

  4. Lua table使用

    days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Th ...

  5. 14.5.3 Locks Set by Different SQL Statements in InnoDB

    14.5.3 Locks Set by Different SQL Statements in InnoDB 通过不同的SQL语句设置的锁 在InnoDB中 一个锁定读, 一个UPDATE 或者一个D ...

  6. 使用next-key locks 用于搜索和索引扫描,可以防止幻读

    Next-Key Locks A next-key lock is a combination of a record lock on the index record and a gap lock ...

  7. Linux配置支持高并发TCP连接(socket最大连接数)

    Linux配置支持高并发TCP连接(socket最大连接数) Linux配置支持高并发TCP连接(socket最大连接数)及优化内核参数 2011-08-09 15:20:58|  分类:LNMP&a ...

  8. C++中的 new / delete

    new的3种形态: new operator , operator new , placement new 1.new operator: new操作符,像 + - * / && . ...

  9. 数学(线性规划):UVAoj 10498 Happiness

    Problem GHappiness! Input: standard inputOutput: standard outputTime Limit: 3 seconds Prof. Kaykobad ...

  10. 控件treeview使用

    一:实现功能,获得选中节点,在选中节点下添加节点,折叠,展开,删除,得到选中节点下checked项,选中根节点其下节点也选中,图标.上图 二:相关代码 using System; using Syst ...