- /**
- * 根据一个日期,返回是星期几的字符串
- *
- * @param sdate
- * @return
- */
- public static String getWeek(String sdate) {
- // 再转换为时间
- Date date = VeDate.strToDate(sdate);
- Calendar c = Calendar.getInstance();
- c.setTime(date);
- // int hour=c.get(Calendar.DAY_OF_WEEK);
- // hour中存的就是星期几了,其范围 1~7
- // 1=星期日 7=星期六,其他类推
- return new SimpleDateFormat("EEEE").format(c.getTime());
- }
- public static String getWeekStr(String sdate){
- String str = "";
- str = VeDate.getWeek(sdate);
- if("1".equals(str)){
- str = "星期日";
- }else if("2".equals(str)){
- str = "星期一";
- }else if("3".equals(str)){
- str = "星期二";
- }else if("4".equals(str)){
- str = "星期三";
- }else if("5".equals(str)){
- str = "星期四";
- }else if("6".equals(str)){
- str = "星期五";
- }else if("7".equals(str)){
- str = "星期六";
- }
- return str;
- }
- /**
- * 两个时间之间的天数
- *
- * @param date1
- * @param date2
- * @return
- */
- public static long getDays(String date1, String date2) {
- if (date1 == null || date1.equals(""))
- return 0;
- if (date2 == null || date2.equals(""))
- return 0;
- // 转换为标准时间
- SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
- java.util.Date date = null;
- java.util.Date mydate = null;
- try {
- date = myFormatter.parse(date1);
- mydate = myFormatter.parse(date2);
- } catch (Exception e) {
- }
- long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
- return day;
- }
- /**
- * 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间
- * 此函数返回该日历第一行星期日所在的日期
- *
- * @param sdate
- * @return
- */
- public static String getNowMonth(String sdate) {
- // 取该时间所在月的一号
- sdate = sdate.substring(0, 8) + "01";
- // 得到这个月的1号是星期几
- Date date = VeDate.strToDate(sdate);
- Calendar c = Calendar.getInstance();
- c.setTime(date);
- int u = c.get(Calendar.DAY_OF_WEEK);
- String newday = VeDate.getNextDay(sdate, (1 - u) + "");
- return newday;
- }
- /**
- * 取得数据库主键 生成格式为yyyymmddhhmmss+k位随机数
- *
- * @param k
- * 表示是取几位随机数,可以自己定
- */
- public static String getNo(int k) {
- return getUserDate("yyyyMMddhhmmss") + getRandom(k);
- }
- /**
- * 返回一个随机数
- *
- * @param i
- * @return
- */
- public static String getRandom(int i) {
- Random jjj = new Random();
- // int suiJiShu = jjj.nextInt(9);
- if (i == 0)
- return "";
- String jj = "";
- for (int k = 0; k < i; k++) {
- jj = jj + jjj.nextInt(9);
- }
- return jj;
- }
- /**
- *
- * @param args
- */
- public static boolean RightDate(String date) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- ;
- if (date == null)
- return false;
- if (date.length() > 10) {
- sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- } else {
- sdf = new SimpleDateFormat("yyyy-MM-dd");
- }
- try {
- sdf.parse(date);
- } catch (ParseException pe) {
- return false;
- }
- return true;
- }
- /***************************************************************************
- * //nd=1表示返回的值中包含年度 //yf=1表示返回的值中包含月份 //rq=1表示返回的值中包含日期 //format表示返回的格式 1
- * 以年月日中文返回 2 以横线-返回 // 3 以斜线/返回 4 以缩写不带其它符号形式返回 // 5 以点号.返回
- **************************************************************************/
- public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format) {
- Date currentTime = new Date();
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
- String dateString = formatter.format(currentTime);
- String s_nd = dateString.substring(0, 4); // 年份
- String s_yf = dateString.substring(5, 7); // 月份
- String s_rq = dateString.substring(8, 10); // 日期
- String sreturn = "";
- roc.util.MyChar mc = new roc.util.MyChar();
- if (sdate == null || sdate.equals("") || !mc.Isdate(sdate)) { // 处理空值情况
- if (nd.equals("1")) {
- sreturn = s_nd;
- // 处理间隔符
- if (format.equals("1"))
- sreturn = sreturn + "年";
- else if (format.equals("2"))
- sreturn = sreturn + "-";
- else if (format.equals("3"))
- sreturn = sreturn + "/";
- else if (format.equals("5"))
- sreturn = sreturn + ".";
- }
- // 处理月份
- if (yf.equals("1")) {
- sreturn = sreturn + s_yf;
- if (format.equals("1"))
- sreturn = sreturn + "月";
- else if (format.equals("2"))
- sreturn = sreturn + "-";
- else if (format.equals("3"))
- sreturn = sreturn + "/";
- else if (format.equals("5"))
- sreturn = sreturn + ".";
- }
- // 处理日期
- if (rq.equals("1")) {
- sreturn = sreturn + s_rq;
- if (format.equals("1"))
- sreturn = sreturn + "日";
- }
- } else {
- // 不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式
- sdate = roc.util.RocDate.getOKDate(sdate);
- s_nd = sdate.substring(0, 4); // 年份
- s_yf = sdate.substring(5, 7); // 月份
- s_rq = sdate.substring(8, 10); // 日期
- if (nd.equals("1")) {
- sreturn = s_nd;
- // 处理间隔符
- if (format.equals("1"))
- sreturn = sreturn + "年";
- else if (format.equals("2"))
- sreturn = sreturn + "-";
- else if (format.equals("3"))
- sreturn = sreturn + "/";
- else if (format.equals("5"))
- sreturn = sreturn + ".";
- }
-
Java时间转换(四)
精选 转载上一篇:Java时间转换(三)
下一篇:Java时间转换(五)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java 时间转换注解 java 时间转换为时间戳
java中各种date格式的转化
java 时间格式 整除 -
java时间搓在线转换 java时间转换成时间戳
java时间搓在线转换 java时间转换成时间戳
java 时间戳 System