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); 构造函数 ...
随机推荐
- BZOJ4078 WF2014Metal Processing Plant(二分答案+2-SAT)
题面甚至没给范围,由数据可得n<=200.容易想到二分答案,暴力枚举某集合的价值,2-SATcheck一下即可.这样是O(n4logn)的. 2-SAT复杂度已经是下界,考虑如何优化枚举.稍微改 ...
- c# 移除文本文件里的某一行
参考自:http://zhidao.baidu.com/question/87467507.html //定义一个变量用来存读到的东西 string text = ""; //用一 ...
- MT【101】分配问题举例若干
先拿MT[100]的图表镇楼. 举几个例子: [1]52张纸牌分发给4人,每人13张,问每人手中有一张小2的概率? 分析:第一步每人分一张小2,有4!种,然后48张牌平均分成4组有$\frac{48! ...
- 洛谷 P2303 [SDOi2012]Longge的问题 解题报告
P2303 [SDOi2012]Longge的问题 题目背景 SDOi2012 题目描述 Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数\(N\),你需要 ...
- 洛谷P3928 Sequence2(dp,线段树)
题目链接: 洛谷 题目大意在描述底下有.此处不赘述. 明显是个类似于LIS的dp. 令 $dp[i][j]$ 表示: $j=1$ 时表示已经处理了 $i$ 个数,上一个选的数来自序列 $A[0]$ 的 ...
- 素数筛选法(prime seive)
素数筛选法比较有名的,较常用的是Sieve of Eratosthenes,为古希腊数学家埃拉托色尼(Eratosthenes 274B.C.-194B.C.)提出的一种筛选法.详细步骤及图示讲解,还 ...
- SQL Server 一些查询技巧
--1.[行列转换] --列转行 USE tempdb GO IF (OBJECT_ID('DEPT') IS NOT NULL) DROP TABLE DEPT CREATE TABLE DEPT( ...
- 网络报错:“The connection is not for this device.”
网络报错:“The connection is not for this device.” 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 记得在前几天工作的时候,有一个同时通过微信 ...
- CSS currentColor研究
刚刚写了篇<CSS变量试玩儿>,我们了解到可以使用原生的CSS来定义使用变量,简化CSS书写.优化代码的组织与维护,但可怕的兼容性问题,又让我们望而却步.一笑了之. 但是有这么一个CSS变 ...
- Java获取时间,将当前时间减一年,减一天,减一个月
在Java中操作时间的时候,需要计算某段时间开始到结束的区间日期,常用的时间工具 Date date = new Date();//获取当前时间 Calendar calendar = Calenda ...