Java 日期时间获取和显示
Java正确获取星期Calendar.DAY_OF_WEEK
http://chamcon.iteye.com/blog/2144433
Java SimpleDateFormat 中英文时间格式化转换
https://blog.csdn.net/KingWTD/article/details/48089111
java-使用SimpleDateFormat格式化日期
http://zy-email1991.iteye.com/blog/2243021
编写一个java程序用以将AM/PM格式的时间转换为24小时格式
https://zhidao.baidu.com/question/1798461878119559747.html?qbl=relate_question_1&word=java%20am%20pm%20%D3%A2%CE%C4
个人写的一个Demo:
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Locale;
- import java.util.TimeZone;
- public class Main {
- public static void main(String[] args) {
- Calendar calendar = Calendar.getInstance(TimeZone.getDefault());
- // FAQ :
- // 1.不同地区国家时间格式显示和同步问题? UTC,格林威治?夏威夷?国际化 ~ locale
- // 2.本地client和服务器时间同步问题,比如定时下发执行任务,本地预定时早于服务器当前时间,则无法执行
- System.out.println("\nTimezone: " + TimeZone.getDefault());
- long time = calendar.getTimeInMillis();
- Date date1 = calendar.getTime();
- Date date2 = new Date(); // get current date
- // method1: direct format fun call
- // a ~ AM/PM, 上午/下午
- SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); // HH ~ 24小时制
- System.out.printf("\nTime1 in 24h : " + sdf1.format(calendar.getTime()));
- SimpleDateFormat sdf11 = new SimpleDateFormat("yyyy-MM-dd hh:mm"); // hh ~ 12小时制
- System.out.printf("\nTime11 in 12h : " + sdf11.format(calendar.getTime()));
- SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd a HH:mm", Locale.ENGLISH);
- System.out.printf("\nTime2: " + sdf2.format(calendar.getTime()));
- SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日HH:mm");
- System.out.printf("\nTime3: " + sdf3.format(calendar.getTime()));
- SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy年MM月dd日 a HH:mm");
- System.out.printf("\nTime4: " + sdf4.format(calendar.getTime()));
- // method2: use self define format func
- int year = calendar.get(Calendar.YEAR);
- int month = calendar.get(Calendar.MONTH);
- int day = calendar.get(Calendar.DAY_OF_MONTH);
- int hour = calendar.get(Calendar.HOUR_OF_DAY);
- int minute = calendar.get(Calendar.MINUTE);
- int second = calendar.get(Calendar.SECOND);
- // 欧美国家一周的第一天是星期天,这在java api代码中是写死的,因此这里要自己手动做下判断
- // Calendar中的星期一、二、三、四、五、六、日、DAY_OF_WEEK等都是以一个常量的形式存在的,
- // 我们设置setFirstDayOfWeek()并不能改变这些常量的值
- int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 获取当天是星期几
- boolean isFirstSunday = (calendar.getFirstDayOfWeek() == Calendar.SUNDAY);
- if (isFirstSunday) {
- dayOfWeek -= 1;
- if (dayOfWeek == 0) {
- dayOfWeek = 7;
- }
- }
- int dayOfWeekInMonth = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH); // 某月中第几周. 按这个月1号算,1号起就是第1周,8号起就是第2周
- int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH); // 该月的第几周
- int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR); // 一年的第几天,从1号算起
- System.out.println("\n" + getFormattedTime(year, month, day, hour, minute));
- System.out.println("\ndayOfWeek: " + dayOfWeek + "\ndayOfWeekInMonth: " + dayOfWeekInMonth
- + "\ndayOfYear: " + dayOfYear);
- }
- /**
- * 格式化日期字符串,形如 xx年xx月xx日xx:xx:xx
- * @param year
- * @param month
- * @param day
- * @param hour
- * @param minute
- * @return String
- */
- public static String getFormattedTime(int year, int month, int day, int hour, int minute) {
- String yearStr = "";
- String monthStr = "";
- String dayStr = "";
- String hourStr = "";
- String minuteStr = "";
- // year
- if (year < 10) {
- yearStr = "0" + year;
- } else {
- yearStr = String.valueOf(year);
- }
- // month
- if (month < 10) {
- monthStr = "0" + month;
- } else {
- monthStr = Integer.toString(month);
- }
- // day
- if (day < 10) {
- dayStr = "0" + day;
- } else {
- dayStr = Integer.toString(day);
- }
- // hour
- if (hour < 10) {
- hourStr = "0" + hour;
- } else {
- hourStr = Integer.toString(hour);
- }
- // minute
- if (minute < 10) {
- minuteStr = "0" + minute;
- } else {
- minuteStr = Integer.toString(minute);
- }
- return yearStr + "年" + monthStr + "月" + dayStr + "日" + hourStr + ":" + minuteStr;
- }
- }
Java 日期时间获取和显示的更多相关文章
- Java 日期时间
Java 日期时间 标签 : Java基础 Date java.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含 ...
- Java日期时间使用(转)
Java日期时间使用总结 转自:http://lavasoft.blog.51cto.com/62575/52975/ 一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个 ...
- Java日期时间使用总结[转载]
Java日期时间使用总结 一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式 ...
- Java-Runoob:Java 日期时间
ylbtech-Java-Runoob:Java 日期时间 1.返回顶部 1. Java 日期时间 java.util 包提供了 Date 类来封装当前的日期和时间. Date 类提供两个构造函数来实 ...
- Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。
通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...
- 一文告诉你Java日期时间API到底有多烂
前言 你好,我是A哥(YourBatman). 好看的代码,千篇一律!难看的代码,卧槽卧槽~其实没有什么代码是"史上最烂"的,要有也只有"史上更烂". 日期是商 ...
- Java日期时间处理
Java 日期时间处理 一.时间相关类 java.lang.System java.util.Date java.util.Calendar java.util.GregorianCalendar j ...
- Java日期时间,以及相互转换
Java日期时间,以及相互转化 package com.study.string; import java.text.ParseException; import java.text.SimpleDa ...
- Java日期时间实用工具类
Java日期时间实用工具类 1.Date (java.util.Date) Date(); 以当前时间构造一个Date对象 Date(long); 构造函数 ...
随机推荐
- Vue---父子组件之间的通信
在vue组件通信中其中最常见通信方式就是父子组件之中的通信,而父子组件的设定方式在不同情况下又各有不同.最常见的就是父组件为控制组件子组件为视图组件.父组件传递数据给子组件使用,遇到业务逻辑操作时子组 ...
- pgm5
这部分讨论 inference 里面基本的问题,即计算 这类 query,这一般可以认为等价于计算 ,因为我们只需要重新 normalize 一下关于 的分布就得到了需要的值,特别是像 MAP 这类 ...
- 用宏实现C/C++从非零整数开始的数组
相信大家在刚学习C/C++时,都会对数组下标从0开始编号有疑惑.尽管我是喜欢从0开始编号的“0党”,但是也有很多的人是喜欢从1开始编号. 意识到C/C++数组与指针具有一定的相似性后,我开始构思如何仿 ...
- 【题解】 [HNOI2004]宠物收养场(Splay)
懒得复制,戳我戳我 Solution: \(Splay\)板子,注意交换的地方,然后就是注意不要越界node[x],应该是\(node[now]\),其次就是数组可以开大点 Code: //It is ...
- diyiti.cpp
diyiti.cpp/c/pas diyiti.in diyiti.out 2s/256MB 给定两个01串,S,T(下标从0开始). 支持如下3种操作: 1. 修改S第i位的字符,即0->1, ...
- bzoj4542: [Hnoi2016]大数(莫队)
这题...离散化...$N$和$n$搞错了...查了$2h$...QAQ 考虑$s[l...r]$,可以由两个后缀$suf[l]-suf[r+1]$得到$s[l...r]$代表的数乘$10^k$得到的 ...
- [JSOI2008]魔兽地图
Description DotR里面的英雄只有一个属性——力量. 他们需要购买装备来提升自己的力量值,每件装备都可以使佩戴它的英雄的力量值提高固定的点数,所以英雄的力量值等于它购买的所有装备的力量值之 ...
- Hadoop生态圈-kafka事务控制以及性能测试
Hadoop生态圈-kafka事务控制以及性能测试 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- 鸟哥的Linux私房菜——第十七章:Linux 账号与身份管理
视频链接:http://www.bilibili.com/video/av10669732/ 1. Linux 的账号与群组1.1 使用者识别: UID 与 GID1.2 使用者账号:/etc/pas ...
- vue-router基本概念及使用
index.html: <!DOCTYPE html> <html> <head> <title></title> <meta cha ...