2012-01-30 2 views
1

Я искал аналогичную проблему здесь, в Stackoverflow javascript, связанной с несколькими датами, но не смог найти то, что я хочу.Javascript multi date

Вот этот код: demo javascript date

Я пытался сделать дату на основе различных временных зон для разных городов. Например, я хочу, чтобы показать текущую дату в Нью-Йорке в DIV в следующем формате:

Monday, January 30, 2012 

..и другой город, как Лондон, в другой DIV в том же формате:

Monday, January 30, 2012 

Если день меняется, то и дата меняется. Есть ли способ добавить время по Гринвичу в каждый город, чтобы у меня было как можно больше городов для отображения?

Если у вас есть лучший способ и намного проще использовать JQuery, было бы намного лучше, так как с этим инструментом легко играть.

+2

Java = JavaScript Пожалуйста *** прочитать *** описания тегов применяются к столбу! –

+0

http://stackoverflow.com/questions/7520478/converting-datetime-to-different-timezones-with-javascript – jjj

+0

привет Adrew. Извините моя ошибка. в следующий раз я буду осторожно выбирать правильные метки. Спасибо за это. –

ответ

2

вы можете использовать JavaScript следующим образом:

Convert the local time to another time zone with this JavaScript

<html> 
<head> 
<script language="JavaScript"> 

// function to calculate local time 
// in a different city 
// given the city's UTC offset 
function calcTime(city, offset) { 

    // create Date object for current location 
    d = new Date(); 

    // convert to msec 
    // add local time zone offset 
    // get UTC time in msec 
    utc = d.getTime() + (d.getTimezoneOffset() * 60000); 

    // create new Date object for different city 
    // using supplied offset 
    nd = new Date(utc + (3600000*offset)); 

    // return time as a string 
    return "The local time in " + city + " is " + nd.toLocaleString(); 

} 

// get Bombay time 
alert(calcTime('Bombay', '+5.5')); 

// get Singapore time 
alert(calcTime('Singapore', '+8')); 

// get London time 
alert(calcTime('London', '+1')); 

</script> 
</head> 
<body> 

</body> 
</html> 
+0

@ Hemant. Большое спасибо. Этот код хорош, но при загрузке страницы он дает java-предупреждение. Я не хотел ни одного предупреждения, но div для отображения каждой даты города, например, например: пятница, 12 января 2012 г. ... Я попытаюсь найти больше ресурсов. Спасибо –

+0

@Fxdigi вы можете установить innerhtml div, вызывая эту функцию столько раз, сколько вы хотите –

+0

@Fxdigi см. Скрипку http://jsfiddle.net/hemant1027/QHSqu/ –

1
function AnotherCityDate(offset) { 
    var monthNames = [ "January", "February", "March", "April", "May", "June", 
    "July", "August", "September", "October", "November", "December" ]; 
    var dayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday", 
    "Friday","Saturday","Sunday"] 
    // create Date object for current location 
    var d = new Date(); 
    // convert to msec 
    // add local time zone offset 
    // get UTC time in msec 
    utc = d.getTime() + (d.getTimezoneOffset() * 60000); 
    // create new Date object for different city 
    // using supplied offset 
    nd = new Date(utc + (3600000*offset)); 
    // return time as a string 
    return dayNames[nd.getDay()] + ', ' + monthNames[nd.getMonth()] + ' ' + 
     nd.getDate() + ', ' + nd.getFullYear(); 
} 
+0

Hi Cheery. Спасибо помощнику за сценарий, но это, похоже, не работает. Я тестирую его на своем сервере, но ничего не показывает. любая идея, почему ?? !! –

+0

@Fxdigi Извините, здесь была опечатка 'monthNames [ng.getMonth()]' должно быть 'nd', обновить код. Он возвращает строку, которую вы можете вставлять innerHTML, где бы вы ни захотели. – Cheery

+0

Спасибо за отзыв. Я заметил это раньше, но даже после модификации на сервере ничего не появляется. –