Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于PHP DateFormate将GMT DateTime转换为本地系统DateTime_Javascript_Php_Html_Datetime - Fatal编程技术网

Javascript 基于PHP DateFormate将GMT DateTime转换为本地系统DateTime

Javascript 基于PHP DateFormate将GMT DateTime转换为本地系统DateTime,javascript,php,html,datetime,Javascript,Php,Html,Datetime,如何将所有GMT/UTC时区转换为本地系统时区。基于类或.system\u datetime和属性data-gmt\u datetime和data-datetime\u format HTML返回输出 <label class="grid_label_view system_datetime" data-datetime_formate="M d, Y h:i A" data-gmt_datetime="2016-08-27 06:57:00">Aug 27, 2016 06:57

如何将所有GMT/UTC时区转换为本地系统时区。基于类或
.system\u datetime
和属性
data-gmt\u datetime
data-datetime\u format

HTML返回输出

<label class="grid_label_view system_datetime" data-datetime_formate="M d, Y h:i A" data-gmt_datetime="2016-08-27 06:57:00">Aug 27, 2016 06:57 AM</label>

<label class="grid_label_view system_datetime" data-datetime_formate="M d, Y h:i A" data-gmt_datetime="2016-08-27 07:14:00">Aug 27, 2016 07:14 AM</label>
2016年8月27日上午6:57
2016年8月27日上午7:14

上述GMT日期时间显示在用户本地系统时区中。

将日期时间转换为系统时间

HTML

<label class="grid_label_view system_datetime" data-datetime_formate="M d, Y H:i" data-gmt_datetime="2016-08-27 07:14:00">Aug 27, 2016 06:57</label>    

<label class="grid_label_view system_datetime" data-datetime_formate="M d, Y h:i A" data-gmt_datetime="2016-08-27 06:57:00">Aug 27, 2016 06:57 AM</label>

<label class="grid_label_view system_datetime" data-datetime_formate="M d, Y h:i A" data-gmt_datetime="2016-08-27 07:14:00">Aug 27, 2016 07:14 AM</label>
2016年8月27日06:57
2016年8月27日上午06:57
2016年8月27日上午7:14
JavaScript:

$(".system_datetime[data-gmt_datetime][data-datetime_formate]").each(function() {
    var gmt_datetime = $(this).attr("data-gmt_datetime");
    var gmt_datetime_formate = $(this).attr("data-datetime_formate");
    var js_gmt_datetime = new Date(gmt_datetime + ' GMT');

    var current_gmt_time = new Date();

    var datetime_timezoon_string = js_gmt_datetime.toString().match(/\(([A-Za-z\s].*)\)/)[1];

    console.log("gmt_datetime:" + gmt_datetime + ",gmt_datetime_formate:" + gmt_datetime_formate);
    var datetime_year_4_integer = js_gmt_datetime.getFullYear().toString();
    console.log("datetime_year_4_integer:" + datetime_year_4_integer);
    var datetime_year_2_integer = datetime_year_4_integer.toString().slice(-2);
    var datetime_month_integer = (js_gmt_datetime.getMonth() + 1);
    var datetime_month_full_string = 'NONE';
    var datetime_month_short_string = 'NONE';
    switch (datetime_month_integer) {
        case 1:
            datetime_month_full_string = "January";
            datetime_month_short_string = "Jan";
            break;
        case 2:
            datetime_month_full_string = "February";
            datetime_month_short_string = "Feb";
            break;
        case 3:
            datetime_month_full_string = "March";
            datetime_month_short_string = "Mar";
            break;
        case 4:
            datetime_month_full_string = "April";
            datetime_month_short_string = "Apr";
            break;
        case 5:
            datetime_month_full_string = "May";
            datetime_month_short_string = "May";
            break;
        case 6:
            datetime_month_full_string = "June";
            datetime_month_short_string = "Jun";
            break;
        case 7:
            datetime_month_full_string = "July";
            datetime_month_short_string = "Jul";
            break;
        case 8:
            datetime_month_full_string = "August";
            datetime_month_short_string = "Aug";
            break;
        case 9:
            datetime_month_full_string = "September";
            datetime_month_short_string = "Sep";
            break;
        case 10:
            datetime_month_full_string = "October";
            datetime_month_short_string = "Oct";
            break;
        case 11:
            datetime_month_full_string = "November";
            datetime_month_short_string = "Nov";
            break;
        case 12:
            datetime_month_full_string = "December";
            datetime_month_short_string = "Dec";
            break;
    }
    var datetime_day_integer = js_gmt_datetime.getDate().toString();
    var datetime_hours_24_integer = js_gmt_datetime.getHours().toString();
    var datetime_hours_12_integer = js_gmt_datetime.getHours().toString();

    if (js_gmt_datetime.getHours() > 12) {
        var datetime_hours_12_integer = "" + (js_gmt_datetime.getHours() - 12);
    }
    var datetime_minutes_integer = js_gmt_datetime.getMinutes().toString();
    var datetime_seconds_integer = js_gmt_datetime.getSeconds().toString();

    var datetime_small_am_pm_string = datetime_hours_24_integer >= 12 ? 'pm' : 'am';
    var datetime_caps_am_pm_string = datetime_hours_24_integer >= 12 ? 'PM' : 'AM';

    var system_datetime_formate = '';

    datetime_day_integer = two_digit_convert(datetime_day_integer);
    datetime_hours_24_integer = two_digit_convert(datetime_hours_24_integer);
    datetime_hours_12_integer = two_digit_convert(datetime_hours_12_integer);
    datetime_minutes_integer = two_digit_convert(datetime_minutes_integer);
    datetime_seconds_integer = two_digit_convert(datetime_seconds_integer);

    for (var char_index = 0; char_index < gmt_datetime_formate.length; char_index++) {

        switch (gmt_datetime_formate[char_index]) {
            case 'd':
                system_datetime_formate = system_datetime_formate.concat(datetime_day_integer);
                break;
            case 'D':
                system_datetime_formate = system_datetime_formate.concat("D");
                break;
            case 'j':
                system_datetime_formate = system_datetime_formate.concat(datetime_day_integer.replace(/^0+/, ''));
                break;
            case 'F':
                system_datetime_formate = system_datetime_formate.concat(datetime_month_full_string);
                break;
            case 'm':
                system_datetime_formate = system_datetime_formate.concat(datetime_month_integer);
                break;
            case 'M':
                system_datetime_formate = system_datetime_formate.concat(datetime_month_short_string);
                break;
            case 'n':
                system_datetime_formate = system_datetime_formate.concat(datetime_month_integer.replace(/^0+/, ''));
                break;
            case 'Y':
                system_datetime_formate = system_datetime_formate.concat(datetime_year_4_integer);
                break;
            case 'y':
                system_datetime_formate = system_datetime_formate.concat(datetime_year_2_integer);
                break;
            case 'g':
                system_datetime_formate = system_datetime_formate.concat(datetime_hours_12_integer.replace(/^0+/, ''));
                break;
            case 'G':
                system_datetime_formate = system_datetime_formate.concat(datetime_hours_24_integer.replace(/^0+/, ''));
                break;
            case 'h':
                system_datetime_formate = system_datetime_formate.concat(datetime_hours_12_integer);
                break;
            case 'H':
                system_datetime_formate = system_datetime_formate.concat(datetime_hours_24_integer);
                break;
            case 'i':
                system_datetime_formate = system_datetime_formate.concat(datetime_minutes_integer);
                break;
            case 'T':
                system_datetime_formate = system_datetime_formate.concat(datetime_timezoon_string);
                break;
            case 'A':
                system_datetime_formate = system_datetime_formate.concat(datetime_caps_am_pm_string);
                break;
            case 'a':
                system_datetime_formate = system_datetime_formate.concat(datetime_small_am_pm_string);
                break;
            default:
                system_datetime_formate = system_datetime_formate.concat(gmt_datetime_formate[char_index]);

        }
    }
    $(this).html(system_datetime_formate);
});

function two_digit_convert(n) {
    return n > 9 ? "" + n : "0" + n;
}
$(“.system\u datetime[data-gmt\u datetime][data-datetime\u format]”)。每个(函数(){
var gmt_datetime=$(this.attr(“data-gmt_datetime”);
var gmt_datetime_formate=$(this.attr(“data-datetime_formate”);
var js_gmt_datetime=新日期(gmt_datetime+'gmt');
var current_gmt_time=新日期();
var datetime\u timezoon\u string=js\u gmt\u datetime.toString().match(/\([A-Za-z\s].*)/)[1];
log(“gmt\u datetime:+gmt\u datetime+”,gmt\u datetime格式:+gmt\u datetime格式”);
var datetime_year_4_integer=js_gmt_datetime.getFullYear().toString();
log(“datetime\u year\u 4\u integer:+datetime\u year\u 4\u integer”);
var datetime_year_2_integer=datetime_year_4_integer.toString().slice(-2);
var datetime_month_integer=(js_gmt_datetime.getMonth()+1);
var datetime_month_full_字符串='NONE';
var datetime_month_short_string='NONE';
开关(日期时间\月份\整数){
案例1:
datetime\u month\u full\u string=“一月”;
datetime\u month\u short\u string=“Jan”;
打破
案例2:
datetime\u month\u full\u string=“二月”;
datetime\u month\u short\u string=“Feb”;
打破
案例3:
datetime\u month\u full\u string=“三月”;
datetime\u month\u short\u string=“Mar”;
打破
案例4:
datetime\u month\u full\u string=“四月”;
datetime\u month\u short\u string=“Apr”;
打破
案例5:
datetime\u month\u full\u string=“May”;
datetime\u month\u short\u string=“May”;
打破
案例6:
datetime\u month\u full\u string=“June”;
datetime\u month\u short\u string=“Jun”;
打破
案例7:
datetime\u month\u full\u string=“July”;
datetime\u month\u short\u string=“Jul”;
打破
案例8:
datetime\u month\u full\u string=“八月”;
datetime\u month\u short\u string=“Aug”;
打破
案例9:
datetime\u month\u full\u string=“九月”;
datetime\u month\u short\u string=“Sep”;
打破
案例10:
datetime\u month\u full\u string=“十月”;
datetime\u month\u short\u string=“十月”;
打破
案例11:
datetime\u month\u full\u string=“十一月”;
datetime\u month\u short\u string=“Nov”;
打破
案例12:
datetime\u month\u full\u string=“十二月”;
datetime\u month\u short\u string=“Dec”;
打破
}
var datetime_day_integer=js_gmt_datetime.getDate().toString();
var datetime_hours_24_integer=js_gmt_datetime.getHours().toString();
var datetime_hours_12_integer=js_gmt_datetime.getHours().toString();
如果(js_gmt_datetime.getHours()>12){
var datetime_hours_12_integer=“”+(js_gmt_datetime.getHours()-12);
}
var datetime_minutes_integer=js_gmt_datetime.getMinutes().toString();
var datetime_seconds_integer=js_gmt_datetime.getSeconds().toString();
var datetime_small_am_pm_string=datetime_hours_24_integer>=12?'pm':'am';
var datetime_caps_am_pm_string=datetime_hours_24_integer>=12?'pm':'am';
var系统_datetime_formate='';
datetime\u day\u integer=两位数\u转换(datetime\u day\u integer);
datetime\u hours\u 24\u integer=两位数\u转换(datetime\u hours\u 24\u integer);
datetime\u hours\u 12\u integer=两位数\u转换(datetime\u hours\u 12\u integer);
datetime\u minutes\u integer=两位数\u转换(datetime\u minutes\u integer);
datetime\u seconds\u integer=两位数\u转换(datetime\u seconds\u integer);
对于(var char\u index=0;char\u index