Android日期选择DataUtils

释放双眼,带上耳机,听听看~!
/**
 * 毫秒转日期
 * SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
 * SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
 * SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss");
 * SimpleDateFormat format = new SimpleDateFormat("MM/dd" );
 * 都特么可以
 * */
public String getDateTimeByMillisecond(String str) {
Date date = new Date(Long.valueOf(str));
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
String time = format.format(date);
    return time;
}
1479201538 补充一下 如果你的时间字符串是10位 发现你的日期有错误  你可以在加上 000 哈哈1479201538000 这样的日期就对了
/*
*  Copyright  sunflower
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*
*/

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

/**
* 日期时间工具类
*
* @author sunflower
*/
public class DateUtils {
private static final SimpleDateFormat datetimeFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
private static final SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd");
private static final SimpleDateFormat timeFormat = new SimpleDateFormat(
"HH:mm:ss");
private static final SimpleDateFormat dateFormatCN = new SimpleDateFormat(
"yyyy年MM月dd日");
private static final SimpleDateFormat dateFormaths = new SimpleDateFormat(
"HH:mm");

/**
* 获得当前日期时间
* <p/>
* 日期时间格式yyyy-MM-dd HH:mm:ss
*
* @return
*/
public static String currentDatetime() {
return datetimeFormat.format(now());
}

/**
* 格式化日期时间
* <p/>
* 日期时间格式yyyy-MM-dd HH:mm:ss
*
* @return
*/
public static String formatDatetime(Date date) {
return datetimeFormat.format(date);
}

/**
* 格式化日期时间
*
* @param date
* @param pattern 格式化模式,详见{@link SimpleDateFormat}构造器
*                <code>SimpleDateFormat(String pattern)</code>
* @return
*/
public static String formatDatetime(Date date, String pattern) {
SimpleDateFormat customFormat = (SimpleDateFormat) datetimeFormat
.clone();
customFormat.applyPattern(pattern);
return customFormat.format(date);
}

/**
* 获得当前日期
* <p/>
* 日期格式yyyy-MM-dd
*
* @return
*/
public static String currentDate() {
return dateFormat.format(now());
}

/**
* 格式化日期
* <p/>
* 日期格式yyyy-MM-dd
*
* @return
*/
public static String formatDate(Date date) {
return dateFormat.format(date);
}

/**
* 获得当前时间
* <p/>
* 时间格式HH:mm:ss
*
* @return
*/
public static String currentTime() {
return timeFormat.format(now());
}

/**
* 格式化时间
* <p/>
* 时间格式HH:mm:ss
*
* @return
*/
public static String formatTime(Date date) {
return timeFormat.format(date);
}

public static String formatTimeHs(Date date) {
return timeFormat.format(date);
}

/**
* 获得当前时间的<code>java.util.Date</code>对象
*
* @return
*/
public static Date now() {
return new Date();
}

public static Calendar calendar() {
Calendar cal = GregorianCalendar.getInstance(Locale.CHINESE);
cal.setFirstDayOfWeek(Calendar.MONDAY);
return cal;
}

/**
* 获得当前时间的毫秒数
* <p/>
* 详见{@link System#currentTimeMillis()}
*
* @return
*/
public static long millis() {
return System.currentTimeMillis();
}

/**
* 获得当前Chinese月份
*
* @return
*/
public static int month() {
return calendar().get(Calendar.MONTH) + 1;
}

/**
* 获得月份中的第几天
*
* @return
*/
public static int dayOfMonth() {
return calendar().get(Calendar.DAY_OF_MONTH);
}

/**
* 今天是星期的第几天
*
* @return
*/
public static int dayOfWeek() {
return calendar().get(Calendar.DAY_OF_WEEK);
}

/**
* 今天是年中的第几天
*
* @return
*/
public static int dayOfYear() {
return calendar().get(Calendar.DAY_OF_YEAR);
}

/**
* 判断原日期是否在目标日期之前
*
* @param src
* @param dst
* @return
*/
public static boolean isBefore(Date src, Date dst) {
return src.before(dst);
}

/**
* 判断原日期是否在目标日期之后
*
* @param src
* @param dst
* @return
*/
public static boolean isAfter(Date src, Date dst) {
return src.after(dst);
}

/**
* 判断两日期是否相同
*
* @param date1
* @param date2
* @return
*/
public static boolean isEqual(Date date1, Date date2) {
return date1.compareTo(date2) == 0;
}

/**
* 判断某个日期是否在某个日期范围
*
* @param beginDate 日期范围开始
* @param endDate   日期范围结束
* @param src       需要判断的日期
* @return
*/
public static boolean between(Date beginDate, Date endDate, Date src) {
return beginDate.before(src) && endDate.after(src);
}

/**
* 获得当前月的最后一天
* <p/>
* HH:mm:ss为0,毫秒为999
*
* @return
*/
public static Date lastDayOfMonth() {
Calendar cal = calendar();
cal.set(Calendar.DAY_OF_MONTH, 0); // M月置零
cal.set(Calendar.HOUR_OF_DAY, 0);// H置零
cal.set(Calendar.MINUTE, 0);// m置零
cal.set(Calendar.SECOND, 0);// s置零
cal.set(Calendar.MILLISECOND, 0);// S置零
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);// 月份+1
cal.set(Calendar.MILLISECOND, -1);// 毫秒-1
return cal.getTime();
}

/**
* 获得当前月的第一天
* <p/>
* HH:mm:ss SS为零
*
* @return
*/
public static Date firstDayOfMonth() {
Calendar cal = calendar();
cal.set(Calendar.DAY_OF_MONTH, 1); // M月置1
cal.set(Calendar.HOUR_OF_DAY, 0);// H置零
cal.set(Calendar.MINUTE, 0);// m置零
cal.set(Calendar.SECOND, 0);// s置零
cal.set(Calendar.MILLISECOND, 0);// S置零
return cal.getTime();
}

private static Date weekDay(int week) {
Calendar cal = calendar();
cal.set(Calendar.DAY_OF_WEEK, week);
return cal.getTime();
}

/**
* 获得周五日期
* <p/>
* 注:日历工厂方法{@link #calendar()}设置类每个星期的第一天为Monday,US等每星期第一天为sunday
*
* @return
*/
public static Date friday() {
return weekDay(Calendar.FRIDAY);
}

/**
* 获得周六日期
* <p/>
* 注:日历工厂方法{@link #calendar()}设置类每个星期的第一天为Monday,US等每星期第一天为sunday
*
* @return
*/
public static Date saturday() {
return weekDay(Calendar.SATURDAY);
}

/**
* 获得周日日期
* <p/>
* 注:日历工厂方法{@link #calendar()}设置类每个星期的第一天为Monday,US等每星期第一天为sunday
*
* @return
*/
public static Date sunday() {
return weekDay(Calendar.SUNDAY);
}

/**
* 将字符串日期时间转换成java.util.Date类型
* <p/>
* 日期时间格式yyyy-MM-dd HH:mm:ss
*
* @param datetime
* @return
*/
public static Date parseDatetime(String datetime) throws ParseException {
return datetimeFormat.parse(datetime);
}

public static Date parseDatetimeHs(String datetime) throws ParseException {
return dateFormaths.parse(datetime);
}

/**
* 将字符串日期时间转换成java.util.Date类型
* <p/>
* 日期时间格式yyyy年MM月dd日
* @param dateTime
* @return
*/
public static Date parseDateTimeToEn(String dateTime)throws ParseException{
return dateFormatCN.parse(dateTime);
}

/**
* 将字符串日期转换成java.util.Date类型
* <p/>
* 日期时间格式yyyy-MM-dd
*
* @param date
* @return
* @throws ParseException
*/
public static Date parseDate(String date) throws ParseException {
return dateFormat.parse(date);
}

/**
* 将字符串日期转换成java.util.Date类型
* <p/>
* 时间格式 HH:mm:ss
*
* @param time
* @return
* @throws ParseException
*/
public static Date parseTime(String time) throws ParseException {
return timeFormat.parse(time);
}

/**
* 根据自定义pattern将字符串日期转换成java.util.Date类型
*
* @param datetime
* @param pattern
* @return
* @throws ParseException
*/
public static Date parseDatetime(String datetime, String pattern)
throws ParseException {
SimpleDateFormat format = (SimpleDateFormat) datetimeFormat.clone();
format.applyPattern(pattern);
return format.parse(datetime);
}

/**
* 获取当前时间
*
* @return 2016-05-17 13:23:54
*/
public static String getCurrentTime() {
SimpleDateFormat sDateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
String date = sDateFormat.format(new java.util.Date());
return date;
}

/**
* 获取当前时间的时间戳
*
* @return 20160517132426
*/
public static String GetCurrentTimeNum() {
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyyMMddHHmmSS");
String date = sDateFormat.format(new java.util.Date());
return date;
}

/**
* 时间戳转换成日期格式字符串
*
* @param seconds 精确到秒的字符串
* @return
*/
public static String timeStamp2Date(String seconds, String format) {
if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
return "";
}
if (format == null || format.isEmpty()) format = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(new Date(Long.valueOf(seconds + "000")));
}

/**
* 日期格式字符串转换成时间戳
* @param date_str 如:1991-02-15 11:13:59
* @param format 如:yyyy-MM-dd HH:mm:ss
* @return
*/
public static String date2TimeStamp(Date date_str, String format) {
try {
//            SimpleDateFormat sdf = new SimpleDateFormat(format);
//            return String.valueOf(sdf.parse(date_str).getTime() / 1000);
String num = date_str.getTime()/1000+"";
return num;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}

 

人已赞赏
Android文章

android 字符串拼接

2020-3-25 21:29:02

Android文章

Android开发No implementation found for native

2020-3-25 22:14:43

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索