DateTime时间转换格式

本文介绍了两种时间格式化方法:一是使用JavaScript进行时间格式化,通过JS函数`setBirthday`处理`layui`插件中的日期;二是服务端处理,在C#中创建一个类,利用`DateTime`转换并格式化为`yyyy-MM-dd`、`HH:mm:ss`及`yyyy-MM-dd HH:mm:ss`格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:在js中格式化时间

JS代码:
function setBirthday(data) {
// /Date(929462400000)/
var Birthday = data.Birthday;
return ChangeDateFormat(Birthday, false);
}

    function setBirthTime(data) {
        var BirthTime = data.BirthTime;
        console.log(BirthTime);
        var hours = BirthTime.Hours > 9 ? BirthTime.Hours : "0" + BirthTime.Hours;
        var minutes = BirthTime.Minutes > 9 ? BirthTime.Minutes : "0" + BirthTime.Minutes;
        var seconds = BirthTime.Seconds > 9 ? BirthTime.Seconds : "0" + BirthTime.Seconds;

        return hours + ":" + minutes + ":" + seconds;
    }

    function setEnterSchoolTime(data) {
        // /Date(929462400000)/
        var EnterSchoolTime = data.EnterSchoolTime;
        return ChangeDateFormat(EnterSchoolTime, true);
    }


    function ChangeDateFormat(jsondate, isDateTime) {
        //  929462400000
        jsondate = jsondate.replace("/Date(", "").replace(")/", "");
        if (jsondate.indexOf("+") > 0) {
            jsondate = jsondate.substring(0, jsondate.indexOf("+"));
        }
        else if (jsondate.indexOf("-") > 0) {
            jsondate = jsondate.substring(0, jsondate.indexOf("-"));
        }

        var date = new Date(parseInt(jsondate, 10));
        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();

        var str = date.getFullYear() + "-" + month + "-" + currentDate;

        if (isDateTime != null && isDateTime != undefined && isDateTime == true) {
            var hours = date.getHours() > 9 ? date.getHours() : "0" + date.getHours();
            var minutes = date.getMinutes() > 9 ? date.getMinutes() : "0" + date.getMinutes();
            var seconds = date.getSeconds() > 9 ? date.getSeconds() : "0" + date.getSeconds();

            str = str + " " + hours + ":" + minutes + ":" + seconds;
        }
        return str;
    }

表格数据用了layui插件
{ templet: setBirthday, title: ‘出生日期’, },
{ templet: setBirthTime, title: ‘出生时间’ },
{ templet: setEnterSchoolTime, title: ‘入学时间’ },

方法二:在服务端格式化时间
创建一个类,并且引用这个类来查询时间
类代码:
private string _StrBirthday;
public string StrBirthday
{
get { return _StrBirthday; }
set
{
//value 代表赋的值
DateTime dt = Convert.ToDateTime(value);
_StrBirthday = dt.ToString(“yyyy-MM-dd”);
}
}//出生日期

private string _StrBirthTime;
public string StrBirthTime
{
get { return _StrBirthTime; }
set
{
DateTime dt = Convert.ToDateTime(value);
_StrBirthTime = dt.ToString(“HH:mm:ss”);
}
}//出生时间

private string _StrEnterSchoolTime;
public string StrEnterSchoolTime
{
get { return _StrEnterSchoolTime; }
set
{
//value 代表赋的值
DateTime dt = Convert.ToDateTime(value);
_StrEnterSchoolTime = dt.ToString(“yyyy-MM-dd HH:mm:ss”);
}
}//入学时间

控制器:
方法一:在js中格式化时间

JS代码:
function setBirthday(data) {
// /Date(929462400000)/
var Birthday = data.Birthday;
return ChangeDateFormat(Birthday, false);
}

    function setBirthTime(data) {
        var BirthTime = data.BirthTime;
        console.log(BirthTime);
        var hours = BirthTime.Hours > 9 ? BirthTime.Hours : "0" + BirthTime.Hours;
        var minutes = BirthTime.Minutes > 9 ? BirthTime.Minutes : "0" + BirthTime.Minutes;
        var seconds = BirthTime.Seconds > 9 ? BirthTime.Seconds : "0" + BirthTime.Seconds;

        return hours + ":" + minutes + ":" + seconds;
    }

    function setEnterSchoolTime(data) {
        // /Date(929462400000)/
        var EnterSchoolTime = data.EnterSchoolTime;
        return ChangeDateFormat(EnterSchoolTime, true);
    }


    function ChangeDateFormat(jsondate, isDateTime) {
        //  929462400000
        jsondate = jsondate.replace("/Date(", "").replace(")/", "");
        if (jsondate.indexOf("+") > 0) {
            jsondate = jsondate.substring(0, jsondate.indexOf("+"));
        }
        else if (jsondate.indexOf("-") > 0) {
            jsondate = jsondate.substring(0, jsondate.indexOf("-"));
        }

        var date = new Date(parseInt(jsondate, 10));
        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();

        var str = date.getFullYear() + "-" + month + "-" + currentDate;

        if (isDateTime != null && isDateTime != undefined && isDateTime == true) {
            var hours = date.getHours() > 9 ? date.getHours() : "0" + date.getHours();
            var minutes = date.getMinutes() > 9 ? date.getMinutes() : "0" + date.getMinutes();
            var seconds = date.getSeconds() > 9 ? date.getSeconds() : "0" + date.getSeconds();

            str = str + " " + hours + ":" + minutes + ":" + seconds;
        }
        return str;
    }

表格数据用了layui插件
{ templet: setBirthday, title: ‘出生日期’, },
{ templet: setBirthTime, title: ‘出生时间’ },
{ templet: setEnterSchoolTime, title: ‘入学时间’ },

方法二:在服务端格式化时间
创建一个类,并且引用这个类来查询时间
类代码:
private string _StrBirthday;
public string StrBirthday
{
get { return _StrBirthday; }
set
{
//value 代表赋的值
DateTime dt = Convert.ToDateTime(value);
_StrBirthday = dt.ToString(“yyyy-MM-dd”);
}
}//出生日期

private string _StrBirthTime;
public string StrBirthTime
{
get { return _StrBirthTime; }
set
{
DateTime dt = Convert.ToDateTime(value);
_StrBirthTime = dt.ToString(“HH:mm:ss”);
}
}//出生时间

private string _StrEnterSchoolTime;
public string StrEnterSchoolTime
{
get { return _StrEnterSchoolTime; }
set
{
//value 代表赋的值
DateTime dt = Convert.ToDateTime(value);
_StrEnterSchoolTime = dt.ToString(“yyyy-MM-dd HH:mm:ss”);
}
}//入学时间

控制器:
在这里插入图片描述
效果图:
在这里插入图片描述

### Python 中 `datetime` 时间格式转换方法 在 Python 中,`datetime` 模块提供了强大的工具用于处理日期和时间格式转换。以下是几种常用的时间格式转换方法以及具体示例。 #### 1. 字符串到 `datetime` 对象的转换 通过 `strptime()` 函数可以从字符串解析出一个 `datetime` 对象。该函数需要两个参数:一个是日期时间字符串,另一个是对应的格式说明符。 ```python from datetime import datetime date_str = "2024-06-11 12:00:00" date_format = "%Y-%m-%d %H:%M:%S" # 转换datetime 对象 date_object = datetime.strptime(date_str, date_format) print(date_object) ``` 上述代码会将 `"2024-06-11 12:00:00"` 这样的字符串转化为一个 `datetime` 对象[^2]。 --- #### 2. `datetime` 对象到字符串的转换 通过 `strftime()` 函数可以将 `datetime` 对象格式化为字符串。同样需要提供一个格式说明符作为参数。 ```python from datetime import datetime now = datetime.now() formatted_date_str = now.strftime("%Y/%m/%d %H:%M:%S") print(formatted_date_str) ``` 这段代码展示了如何将当前时间格式化为形如 `"YYYY/MM/DD HH:MM:SS"` 的字符串[^3]。 --- #### 3. 处理不同的日期格式 当遇到多种日期格式时,可以通过调整格式说明符来适应不同的输入。例如: ```python from datetime import datetime str1 = '9-15-18' str2 = '2024/06/11' date_obj1 = datetime.strptime(str1, '%m-%d-%y') date_obj2 = datetime.strptime(str2, '%Y/%m/%d') print(date_obj1) print(date_obj2) ``` 这里演示了两种不同格式的字符串被成功解析为 `datetime` 对象[^4]。 --- #### 4. 时间戳与 `datetime` 的相互转换 时间戳是从 Unix 纪元(1970 年 1 月 1 日 UTC)以来经过的秒数。Python 提供了简单的方式来实现两者之间的转换。 ##### (1) 时间戳转 `datetime` ```python import time from datetime import datetime timestamp = time.time() # 当前时间戳 dt_from_timestamp = datetime.fromtimestamp(timestamp) print(dt_from_timestamp) ``` ##### (2) `datetime` 转时间戳 ```python from datetime import datetime current_datetime = datetime.now() timestamp_from_dt = current_datetime.timestamp() print(timestamp_from_dt) ``` 这些例子解释了如何在时间戳和 `datetime` 对象之间进行互换[^5]。 --- #### 5. 常见错误及解决方案 - **格式不匹配**:确保提供的格式说明符完全符合输入字符串的实际结构。 - **时区问题**:默认情况下,`datetime` 不带有时区信息。如果涉及多个时区,则需引入 `pytz` 或 `zoneinfo` 库支持时区操作。 --- ### 总结 以上介绍了利用 `datetime` 模块完成各种时间格式转换的核心技术点,并给出了具体的代码实例。无论是从字符串生成 `datetime` 对象还是反过来,亦或是与其他形式(如时间戳)交互,都可以借助这一强大模块轻松达成目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值