2012-11-13 20 views
10

स्कैला में, मैं दिनांक से टाइमस्टैम्प को परिवर्तित कर रहा हूं। मैं वर्तमान में यह कर रहा हूं:स्कैला में दिनांक टाइमस्टैम्प में कनवर्ट करें

val date = new java.util.Date() 
new java.sql.Timestamp(new org.joda.time.DateTime(date).getMillis) 

क्या ऐसा करने का एक मामूली तरीका है? जावा-सूचित प्रतिक्रिया भी प्रासंगिक होगी।

उत्तर

14

Date.getTime() का उपयोग करने के रूप में कुछ आसान क्यों नहीं है?

new java.sql.Timestamp(date.getTime) 

आपको इसके लिए जोडा समय की आवश्यकता नहीं है। स्काला वास्तव में प्रासंगिक उपलब्ध नहीं है, जब तक आप एक अंतर्निहित रूपांतरण की जरूरत है:

new java.sql.Timestamp(System.currentTimeMillis()) 

मुझे लगता है कि होगा:

//import once, use everywhere 
implicit def date2timestamp(date: java.util.Date) = 
    new java.sql.Timestamp(date.getTime) 

val date = new java.util.Date 

//conversion happens implicitly 
val timestamp: java.sql.Timestamp = date 
11

आप भी एक तिथि वस्तु आप बस इस इस्तेमाल कर सकते हैं का निर्माण करने नहीं करना चाहते हैं यह एक नई तिथि() का उपयोग करने से थोड़ा अधिक कुशल होगा। लेकिन अगर आपके पास पहले से कोई डेट ऑब्जेक्ट है, तो आप इससे तारीख प्राप्त करना चाहते हैं, यह आपके लिए काम करेगा।

new java.sql.Timestamp(data.getTime()) 
संबंधित मुद्दे