2012-11-06 4 views
6

मुझे जावास्क्रिप्ट नहीं पता है, लेकिन मैं निम्नलिखित दिशाओं से परिचित हूं। मुझे थोड़ा PHP पता है।उपयोगकर्ता के वर्तमान समय के आधार पर आउटपुट टेक्स्ट के लिए जावास्क्रिप्ट

मैं जेएस का एक टुकड़ा ढूंढ रहा हूं जो उपयोगकर्ता के वर्तमान समय के आधार पर मेरे शीर्षलेख के लिए पाठ की एक विशेष स्ट्रिंग आउटपुट करेगा।

उदाहरण के लिए:

12:00AM - 12:00PM - Good Morning! 
12:00PM - 6:00PM - Good Afternoon! 
6:00PM - 12:00AM - Good Evening! 

उत्तर

20

कोशिश निम्नलिखित जावास्क्रिप्ट कोड का टुकड़ा:

var today = new Date() 
var curHr = today.getHours() 

if (curHr < 12) { 
    console.log('good morning') 
} else if (curHr < 18) { 
    console.log('good afternoon') 
} else { 
    console.log('good evening') 
} 
+0

यह मेरे लिए काम करता है। बेशक मुझे पेज पर आउटपुट प्राप्त करने के लिए document.write में console.log को बदलना पड़ा। मैंने इसे चुना क्योंकि यह सबसे आसान है और मेरी ज़रूरतों के लिए काम करता है, हालांकि नीचे कुछ अन्य उत्तरों का जवाब अधिक सही हो सकता है। –

1

इस कोड को जे एस की कोशिश करें, यह काम करना चाहिए ..

var dt = new Date().getHours(); 
if (dt >= 0 && dt <= 11){ 
console.log('GM') 
}else if (dt >= 12 && dt <= 17){ 
console.log('Good Afternoon!') 
}else { 
console.log('GE') 
} 
+0

क्या होगा यदि आपके पास बहुत अधिक समय 'और' टेक्स्ट' है? कोड इतना गन्दा होगा। –

0

मैं परीक्षण नहीं किया लेकिन यह काम करना चाहिए:

function getText() 
{ 
    var hour = new Date().getHours(); 
    var minute = new Date().getMinutes(); 
    if (hour >= 0 && hour < 12) 
    return 'Good Morning!'; 
    else if (hour == 12 && minute == 0) 
    return 'Good Morning!'; 
    else if (hour == 12 && minute > 0) 
    return 'Good Afternoon!'; 
    else if (hour == 6 && minute == 0) 
    return 'Good Afternoon!'; 
    else if (hour == 6 && minute > 0) 
    return 'Good Evening!'; 
    else if (hour > 12 && hour < 6) 
    return 'Good Afternoon!'; 
    else if (hour > 6 && hour < 12) 
    return 'Good Evening'; 
} 
5
var data = [ 
    [0, 4, "Good night"], 
    [5, 11, "Good morning"],   //Store messages in an array 
    [12, 17, "Good afternoon"], 
    [18, 24, "Good night"] 
], 
    hr = new Date().getHours(); 

for(var i = 0; i < data.length; i++){ 
    if(hr >= data[i][0] && hr <= data[i][1]){ 
     console.log(data[i][2]); 
    } 
} 

डेमो: http://jsfiddle.net/DerekL/we8Ty/

+0

यह मेरी कंप्यूटर घड़ी से 12:21 है, फिर भी यह अच्छी सुबह कहा। क्या यह संभव है कि यह केवल घंटों को छोटा कर देता है, शायद सरणी 0, 11 कहनी चाहिए? मुझे कोई जानकारी नहीं है, केवल सुझाव है। –

+0

@ माइकमेल्ड्रेम - मुझे पूरा यकीन है कि यह '[0,11]' होना चाहिए ... कोई विचार नहीं कि मैंने पहले '[0,12] 'क्यों रखा था। –

1

कैसे के बारे में:

var time = new Date().getHours(); 
    ,greeting = 'Good '+ (time < 12 ? 'Morning' : 
         time < 18 ? 'Afternoon' : 'Evening'); 
//=> new Date('2012/11/06 13:10') => 'Good Afternoon' 
//=> new Date('2012/11/06 10:33') => 'Good Morning' 
//=> new Date('2012/11/06 19:23') => 'Good Evening' 

या बढ़ाने Date

Date.prototype.greeting = function(){ 
    var time = this.getHours(); 
    return 'Good '+ (time<12 ? 'Morning' : time<18 ? 'Afternoon' : 'Evening'); 
}; 
new Date('2012/11/06 19:23').greeting() //=> 'Good Evening' 

see jsfiddle

0
<script type="text/javascript"> 

    var myDate = new Date(); 
    var name = window.prompt("Please enter your name: "); 

    if (myDate.getHours() < 12) { 
     document.write("Good Morning " +name); 
    } 
    else if(myDate.getHours() >=12 && myDate.getHours() <=17){ 
     document.write("Good Afternoon " +name); 
    } 
    else if (myDate.getHours() > 17 && myDate.getHours() <=24) { 
     document.write("Good Evening " +name); 
    } 
    else 
    { 
     document.write("Good Night"); 
    } 
</script> 
0

यह ऊपर डेरेक 朕 會 功夫 से समाधान का एक छोटा सा बदलाव है।
मुझे लगा कि सरणी if कथन के गुच्छा से क्लीनर है।
यदि आप पीछे के घंटे काम करते हैं, तो आपको और अंत घंटे की शुरुआत की आवश्यकता नहीं है।
इसके अलावा, एक बार मैच बनाने के बाद, मैंने जल्दी से बाहर निकलने के लिए break; जोड़ा।

var data = [ 
    [22, 'Working late'], 
    [18, 'Good evening'], 
    [12, 'Good afternoon'], 
    [5, 'Good morning'], 
    [0, 'Whoa, early bird'] 
], 
hr = new Date().getHours(); 
for (var i = 0; i < data.length; i++) { 
    if (hr >= data[i][0]) { 
     console.log(data[i][1]) 
     break; 
    } 
} 
संबंधित मुद्दे