时间格式
时间格式(协议) | 描述 |
---|---|
gg | 时期或纪元。 |
y | 不包含纪元的年份。不具有前导零。 |
yy | 不包含纪元的年份。具有前导零。 |
yyyy | 包含纪元的四位数的年份。 |
M | 月份数字。一位数的月份没有前导零。 |
MM | 月份数字。一位数的月份有一个前导零。 |
MMM | 月份的缩写名称,在AbbreviatedMonthNames中定义。 |
MMMM | 月份的完整名称,在MonthNames中定义。 |
d | 月中的某一天。一位数的日期没有前导零。 |
dd | 月中的某一天。一位数的日期有一个前导零。 |
ddd | 周中某天的缩写名称,在AbbreviatedDayNames中定义。 |
dddd | 周中某天的完整名称,在DayNames中定义。 |
h | 12小时制的小时。一位数的小时数没有前导零。 |
hh | 12小时制的小时。一位数的小时数有前导零。 |
H | 24小时制的小时。一位数的小时数没有前导零。 |
HH | 24小时制的小时。一位数的小时数有前导零。 |
m | 分钟。一位数的分钟数没有前导零。 |
mm | 分钟。一位数的分钟数有一个前导零。 |
s | 秒。一位数的秒数没有前导零。 |
ss | 秒。一位数的秒数有一个前导零。 |
f | 秒的小数精度为一位。其余数字被截断。 |
字符串与时间格式转换
Python
字符串转时间格式:
import datetime str_time = '2022-01-01 12:00:00' time_obj = datetime.datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S')
时间格式转字符串:
time_obj = datetime.datetime.now() str_time = time_obj.strftime('%Y-%m-%d %H:%M:%S')
Java
字符串转时间格式:
import java.text.SimpleDateFormat; import java.util.Date; String str_time = "2022-01-01 12:00:00"; SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date time_obj = formatter.parse(str_time);
时间格式转字符串:
Date time_obj = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str_time = formatter.format(time_obj);
C++
字符串转时间格式:
#include#include #include std::string str_time = "2022-01-01 12:00:00"; struct tm time_obj; strptime(str_time.c_str(), "%Y-%m-%d %H:%M:%S", &time_obj); time_t timestamp = mktime(&time_obj);
时间格式转字符串:
time_t timestamp = time(NULL); struct tm time_obj = *localtime(×tamp); char str_time[20]; strftime(str_time, sizeof(str_time), "%Y-%m-%d %H:%M:%S", &time_obj); std::string result(str_time);
Kotlin
字符串转时间格式:
fun main() { val timeString = "2023-03-02T12:34:56" val pattern = "yyyy-MM-dd'T'HH:mm:ss" val formatter = java.time.format.DateTimeFormatter.ofPattern(pattern) val dateTime = java.time.LocalDateTime.parse(timeString, formatter) println(dateTime) }
时间格式转字符串:
import java.time.LocalDate import java.time.format.DateTimeFormatter fun main(args: Array) { // Format y-M-d or yyyy-MM-d val string = "2017-07-25" val date = LocalDate.parse(string, DateTimeFormatter.ISO_DATE) println(date) }
Shell
日期转字符串
date +%F #输出格式 YYYY-MM-DD date +'%F %H:%m:%S' #输出格式 YYYY-MM-DD HH:mm:ss
字符串转日期
date -d '2016-12-27' date -d '2016-12-27' +%s #转成时间戳
C
TIME ToTimeStamp(string strTime) {tm _tm; int year, month, day, hour, minute,second; sscanf(strTime.c_str(), "%d-%d-%d %d:%d:%d", &year, &month, &day, &hour, &minute, &second); _tm.tm_year = year - 1900; _tm.tm_mon = month - 1; _tm.tm_mday = day; _tm.tm_hour = hour; _tm.tm_min = minute; _tm.tm_sec = second; _tm.tm_isdst = 0; time_t t = mktime(&_tm); return t; }
C#
日期转字符串
DateTimeFormatInfo dfInfo=new DateTimeFormatInfo(); dfInfo.ShortDatePattern = "yyyy/MM/dd hh:mm:ss:ffff"; DateTime dt = Convert.ToDateTime("2019/07/01 18:18:18:1818", dfInfo); string dateString = dt.ToString(); //或者 dateString = dt.ToString("yyyy-MM-dd HH:mm:ss");
字符串转日期
string str=yyyy-MM-dd hh:mm:ss; Convert.ToDateTime(str); //例如 string dateString = "20190701 18:18:18:1818"; DateTime dt = DateTime.ParseExact(dateString, "yyyyMMddHHmmssffff", CultureInfo.CurrentCulture); DateTime.ParseExact(dateString, "yyyyMMddHHmmssffff", CultureInfo.InvariantCulture);
javascript
日期转字符串
function dateToString (date){ var year = date.getFullYear(); var month =(date.getMonth() + 1).toString(); var day = (date.getDate()).toString(); if (month.length == 1) { month = "0" + month; } if (day.length == 1) { day = "0" + day; } var dateTime = year + "-" + month + "-" + day; return dateTime; }
字符串转日期
function stringToDate (dateStr,separator){ if (!separator){ separator= "-" ; } var dateArr = dateStr.split(separator);var year = parseInt(dateArr[0]);var month; if (dateArr[1].indexOf( "0" ) == 0){ month = parseInt(dateArr[1].substring(1)); } else { month = parseInt(dateArr[1]); } var day = parseInt(dateArr[2]); var date = new Date(year,month -1,day); return date; }
或者直接在参数上加注解
@DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
时间戳
时间戳是一个以秒为单位的数字,表示从 1970 年 1 月 1 日(UTC 时间)开始的时间。
要将时间戳转换为其他时间格式,可以使用各种编程语言中的内置函数或库。
例如,在 Python 中,可以使用 datetime 模块中的 datetime 函数来将时间戳转换为时间字符串。
from datetime import datetimetimestamp = 1609459200 # 转换为本地时间 dt_obj = datetime.fromtimestamp(timestamp) # 转换为指定的格式 time_str = dt_obj.strftime('%Y-%m-%d %H:%M:%S')print(time_str) # Output: "2021-01-01 00:00:00"
注意,时间戳是以 UTC 时间为基准的,如果需要转换为本地时间,需要使用 fromtimestamp 函数,而不是 utcfromtimestamp 函数。