电商平台微信小程序开发是电商行业的一条出路吗

java日期时间处理小结 - yingsuixindong - 博客园
随笔 - 1757, 文章 - 2, 评论 - 68, 引用 - 0
这两周时间的Java开发让我感觉到JAVA语言确实把一些简单的事情搞得很复杂,比如日期时间处理,或许是考虑不同时区国际化跨平台之类的因素,但JAVA语言处理确实让我很困惑,相信身边好多开发的同事也如此,只是简单知道有这些概念,遇到具体问题还需要上网查找,刚没事上网搜索了Java时间处理、api相关主题,基本没有多少满意结果,就暂时将觉得好的、让我有些收获的记录下来,以后遇到具体问题时再借助网络资源解决。Calendar是一个抽象类----专门获取一个时间点的DAY,MONTH,YEAR,一年中的第几天,星期几,一个月中的第几天等等Calendar rightNow = Calendar.getInstance()可获得一个Calendar (将当前时间点封装成一个Calendar对象)&java.util.Date类&& 子类Calendar是一个抽象类----专门获取一个时间点的DAY,MONTH,YEAR,一年中的第几天,星期几,一个月中的第几天等等&Calendar rightNow = Calendar.getInstance()可获得一个Calendar (将当前时间点封装成一个Calendar对象)用java.util.Date的三个子类java.sql.Date/java.sql.Time/java.sql.Timestamp处理&&&&&& ------------java.sql.Date&& 只存日期(年月日)&&&&&& ------------java.sql.Time&& 只存时间(时分秒& 毫秒???)&&&&&& ------------java.sql.Timestamp(时间点):包括日期和时间两部分(年月日时分秒.纳秒)——————————————————————————————————————————————————————1.UTC/UT& 世界标准时间2.GMT& 格林威治时间---1970 年 1 月 1 日 00:00:00(貌似和世界标准时间是一回事)3.how to get the current time& 1)System.currentTimeMillis-----返回当前时间点的毫秒表示,一般用于记录程序的运行时间& 2)Date date = new Date();& 3)Calendar calendar = Calendar.getInstance();4.how to format it& 日期的格式化(比如年月日的格式---年/月/日或年-月-日)要使用(java.text包中)抽象类DateFormat的子类& SimpleDateFormat& new SimpleDateFormat("日期格式")----&MM是月份,mm是分;HH是24小时制,而hh是12小时制5.how to convert a string to a date/time& 方法一:& 1)已知str="",new SimpleDateFormat("yyyy,MM,dd")-----&创建要解析字符串为日期的格式& 2)sdf.parse(str)---&返回字符串对应的Date-------&SimpleDateFormat除了格式化Date为字符串外,还能把字符串&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 按格式解析为Date& 方法二:& 1)先将字符串转为"yyyy-mm-dd hh:mm:ss.0(纳秒)"的格式& 2)调用Timestamp t = new Timestamp().valueOf(str);(Timestamp的静态方法,util.Date.parse方法已过时..)&6.how to process the date/time with database用java.util.Date的三个子类java.sql.Date/java.sql.Time/java.sql.Timestamp处理Calendar&c&=&Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));&&&&//获取东八区时间&&int&year&=&c.get(Calendar.YEAR);&&&&//获取年&&int&month&=&c.get(Calendar.MONTH)&+&1;&&&//获取月份,0表示1月份&&int&day&=&c.get(Calendar.DAY_OF_MONTH);&&&&//获取当前天数&&int&first&=&c.getActualMinimum(c.DAY_OF_MONTH);&&&&//获取本月最小天数&&int&last&=&c.getActualMaximum(c.DAY_OF_MONTH);&&&&//获取本月最大天数&&int&time&=&c.get(Calendar.HOUR_OF_DAY);&&&&&&&//获取当前小时&&int&min&=&c.get(Calendar.MINUTE);&&&&&&&&&&//获取当前分钟&&int&xx&=&c.get(Calendar.SECOND);&&&&&&&&&&//获取当前秒&&&SimpleDateFormat&s=new&SimpleDateFormat("yyyy-MM-dd&HH:mm:ss");&&String&curDate&=&s.format(c.getTime());&&//当前日期& Date d2 = new Date();& & & & & & & & & &//年份& & & & & & & & & &int year = d2.getYear() + 1900;& & & & & & & & & &//月份& & & & & & & & & &int month = d2.getMonth() + 1;& & & & & & & & & &//日期& & & & & & & & & &int date = d2.getDate();& & & & & & & & & &//小时& & & & & & & & & &int hour = d2.getHours();& & & & & & & & & &//分钟& & & & & & & & & &int minute = d2.getMinutes();& & & & & & & & & &//秒& & & & & & & & & &int second = d2.getSeconds();& & & & & & & & & &//星期几& & & & & & & & & &int day = d2.getDay();使用Date类中对应的get方法,可以获得Date类对象中相关的信息,需要注意的是使用getYear获得是Date对象中年份减去1900以后的值,所以需要显示对应的年份则需要在返回值的基础上加上1900,月份类似。在Date类中还提供了getDay方法,用于获得Date对象代表的时间是星期几,Date类规定周日是0,周一是1,周二是2,后续的依次类推。& &//将Date类的对象转换为相对时间& & & & & & & & & &long t = d3.getTime();& & & & & & & & & &System.out.println(t);& & & & & & & & & &//将相对时间转换为Date类的对象& & & & & & & & & &Date d4 = new Date(time);& & & & & & & & & &System.out.println(d4);& & & & &使用Date对象中的getTime方法,可以将Date类的对象转换为相对时间,使用Date类的构造方法,可以将相对时间转换为Date类的对象。经过转换以后,既方便了时间的计算,也使时间显示比较直观了。从JDK1.1版本开始,在处理日期和时间时,系统推荐使用Calendar类进行实现。在设计上,Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些,下面就介绍一下Calendar类的使用。Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。public final Date getTime()方法的作用是将Calendar类型的对象转换为对应的Date类对象,两者代表相同的时间点。类似的方法是setTime,该方法的作用是将Date对象转换为对应的Calendar对象,该方法的声明如下:public final void setTime(Date date)转换的示例代码如下:& & & & & & & & & Date d = new Date();& & & & & & & & & &Calendar c6 = Calendar.getInstance();& & & & & & & & & &//Calendar类型的对象转换为Date对象& & & & & & & & & &Date d1 = c6.getTime();& & & & & & & & & &//Date类型的对象转换为Calendar对象& & & & & & & & & &Calendar c7 = Calendar.getInstance();& & & & & & & & & &c7.setTime(d);&//将Calendar对象转换为相对时间& & & & & & & & & & & & & & long t1 = c8.getTimeInMillis();& & & & & & & & & & & & & & //将相对时间转换为Calendar对象& & & & & & & & & & & & & & Calendar c9 = Calendar.getInstance();& & & & & & & & & & & & & & c9.setTimeInMillis(t1);/**&* 计算两个日期之间相差的天数&*/public class DateExample1 {& & & & &public static void main(String[] args) {& & & & & & & & & &//设置两个日期& & & & & & & & & &//日期:号& & & & & & & & & &Calendar c1 = Calendar.getInstance();& & & & & & & & & &c1.set(2009, 3 - 1, 11);& & & & & & & & & &//日期:号& & & & & & & & & &Calendar c2 = Calendar.getInstance();& & & & & & & & & &c2.set(2010, 4 - 1, 1);& & & & & & & & & &//转换为相对时间& & & & & & & & & &long t1 = c1.getTimeInMillis();& & & & & & & & & &long t2 = c2.getTimeInMillis();& & & & & & & & & &//计算天数& & & & & & & & & &long days = (t2 - t1)/(24 * 60 * 60 * 1000);& & & & & & & & & &System.out.println(days);& & & & &}}& &import java.util.*;/**&* 输出当前月的日历&*/public class DateExample2{& & & & &public static void main(String[] args){& & & & & & & & & &//获得当前时间& & & & & & & & & &Calendar c = Calendar.getInstance();& & & & & & & & & &//设置代表的日期为1号& & & & & & & & & &c.set(Calendar.DATE,1);& & & & & & & & & &//获得1号是星期几& & & & & & & & & &int start = c.get(Calendar.DAY_OF_WEEK);& & & & & & & & & &//获得当前月的最大日期数& & & & & & & & & &int maxDay = c.getActualMaximum(Calendar.DATE); &&& & & & & & & & &&& & & & & & & & & &//输出标题& & & & & & & & & &System.out.println("星期日 星期一 星期二 星期三 星期四 星期五 & 星期六");& & & & & & & & & &//输出开始的空格& & & & & & & & & &for(int i = 1;i &i++){& & & & & & & & & & & & & & System.out.print(" & & &");&& & & & & & & & & &}& & & & & & & & & &//输出该月中的所有日期& & & & & & & & & &for(int i = 1;i &= maxDi++){& & & & & & & & & & & & & & //输出日期数字& & & & & & & & & & & & & & System.out.print(" " + i);& & & & & & & & & & & & & & //输出分隔空格& & & & & & & & & & & & & & System.out.print(" & & ");& & & & & & & & & & & & & & if(i & 10){& & & & & & & & & & & & & & & & & & &System.out.print(' ');& & & & & & & & & & & & & & }& & & & & & & & & & & & & & //判断是否换行& & & & & & & & & & & & & & if((start + i - 1) % 7 == 0){& & & & & & & & & & & & & & & & & & &System.out.println(); & & &&& & & & & & & & & & & & & & }& & & & & & & & & &}& & & & & & & & & &//换行& & & & & & & & & &System.out.println(); & & &&& & & & &} & & &&}&Android 获取当天零点的毫秒值并将时间格式化
转载请注明出处,谢谢~~
这是一篇工具类博客,用于获取当天的零点时间,并将时间格式化为标准形式。
获取零点时间有两种方式:
public static long getTodayZero() {
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTimeZone(TimeZone.getTimeZone(UTC+8));
cal.setTime(date);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.SECOND, 1);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.MILLISECOND, 0);
System.out.println(today zero :
+ cal.getTimeInMillis());
return cal.getTimeInMillis();
我一直不喜欢用这种方式,因为在不同的手机上,我测试有bug,可能是我写的有点问题,欢迎大家告诉我。我加上了UTC+8的时区,居然得到的还是UTC+0时区的时间,令我很费解。
所以我一直用这种方式:
public static long getTodayZero() {
Date date = new Date();
long l = 24*60*60*1000; //每天的毫秒数
//date.getTime()是现在的毫秒数,它 减去 当天零点到现在的毫秒数( 现在的毫秒数%一天总的毫秒数,取余。),理论上等于零点的毫秒数,不过这个毫秒数是UTC+0时区的。
//减8个小时的毫秒值是为了解决时区的问题。
return (date.getTime() - (date.getTime()%l) - 8* 60 * 60 *1000);
代码简洁而且方便。
然后格式化一下时间:
@SuppressLint(SimpleDateFormat)
public static String getTime(long time) {
SimpleDateFormat format=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);
Date d1=new Date(time);
return format.format(d1);
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'1 SimpleDateFormat foo = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("foo:" + foo.format(new Date()));
Calendar gc = GregorianCalendar.getInstance();
System.out.println("gc.getTime():" + gc.getTime());
System.out.println("gc.getTimeInMillis():" + new Date(gc.getTimeInMillis()));
// 当前系统默认时区的时间:
Calendar calendar = new GregorianCalendar();
System.out.print("时区:" + calendar.getTimeZone().getID() + "
System.out.println("时间:" + calendar.get(Calendar.HOUR_OF_DAY) + ":" + calendar.get(Calendar.MINUTE));
// 美国洛杉矶时区
TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
// 时区转换
calendar.setTimeZone(tz);
System.out.print("时区:" + calendar.getTimeZone().getID() + "
System.out.println("时间:" + calendar.get(Calendar.HOUR_OF_DAY) + ":" + calendar.get(Calendar.MINUTE));
Date time = new Date();
// 1、取得本地时间:
java.util.Calendar cal = java.util.Calendar.getInstance();
// 2、取得时间偏移量:
int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);
// 3、取得夏令时差:
int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);
// 4、从本地时间里扣除这些差量,即可以取得UTC时间:
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
// 之后调用cal.get(int x)或cal.getTimeInMillis()方法所取得的时间即是UTC标准时间。
System.out.println("UTC:" + new Date(cal.getTimeInMillis()));
Calendar calendar1 = Calendar.getInstance();
TimeZone tztz = TimeZone.getTimeZone("GMT");
calendar1.setTimeZone(tztz);
System.out.println(calendar.getTime());
System.out.println(calendar.getTimeInMillis());
// SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
// df.setTimeZone(TimeZone.getTimeZone("UTC"));
// System.out.println(df.parse("T09:20:05Z").toString());
SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
Date t = new Date();
System.out.println(df1.format(t));
System.out.println(df1.format(df1.parse("T18:02:59.676Z")) + "***********");
df1.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(df1.format(t));
System.out.println("-----------");
System.out.println(df1.format(df1.parse("T18:02:59.676Z")) + "***********");
System.out.println("T18:02:59.676Z");
阅读(...) 评论()}

我要回帖

更多关于 微信小程序电商平台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信