जावा में मानों के साथ दिनांक ऑब्जेक्ट कैसे बनाएँ


91

मुझे दिनांक २०१४-०२-११ के लिए एक दिनांक वस्तु की आवश्यकता है। मैं सीधे इसे इस तरह नहीं बना सकता,

Date myDate = new Date(2014, 02, 11);

तो मैं इस प्रकार कर रहा हूँ,

Calendar myCalendar = new GregorianCalendar(2014, 2, 11);
Date myDate = myCalendar.getTime();

क्या जावा में डेट ऑब्जेक्ट बनाने का कोई आसान तरीका है?


7
आपके दृष्टिकोण में क्या आसान नहीं है?
जियोरास्क

3
"क्या कोई आसान तरीका है"। क्या आपको लगता है कि यह उतना आसान नहीं है जितना यह हो सकता है? जितना आप सोच सकते हैं टाइम्स और तारीखें उससे कहीं अधिक जटिल हैं। कई कैलेंडर और कई समय-क्षेत्र हैं।
राडवल्ड

5
एक लाइन की तरह Date myDate = new GregorianCalendar(2014, 2, 11).getTime();,?
इलियट फ्रिस्क

2
एक पूर्णांक शाब्दिक इस प्रश्न के रूप में देखा में एक अग्रणी शून्य का उपयोग कर से सावधान रहें 02। जावा में, जिसका अर्थ है दशमलव (आधार -10) संख्या के बजाय एक अष्टक (आधार -8 ) संख्या।
बेसिल बोर्क

2
FYI करें, इस तरह के रूप में बहुत परेशानी पुराने तिथि-समय कक्षाएं java.util.Date, java.util.Calendarऔर java.text.SimpleDateFormatअब कर रहे हैं विरासत , द्वारा का स्थान ले लिया java.time जावा 8 और बाद में बनाया गया वर्गों। ओरेकल द्वारा ट्यूटोरियल देखें ।
बेसिल बॉर्क

जवाबों:


108

गोटचा: महीने के रूप में 2 गुजरना आपको अप्रत्याशित परिणाम दे सकता है: कैलेंडर एपीआई में, महीना शून्य-आधारित है। 2 वास्तव में मार्च का मतलब है।

मुझे नहीं पता कि एक "आसान" तरीका है जिसे आप ढूंढ रहे हैं क्योंकि मुझे लगता है कि कैलेंडर का उपयोग करना पहले से ही काफी आसान है।

महीने के लिए सही स्थिरांक का उपयोग करना याद रखें:

 Date date = new GregorianCalendar(2014, Calendar.FEBRUARY, 11).getTime();

एक और तरीका है डेटफ़ॉर्मैट का उपयोग करना, जिसका मेरे पास आमतौर पर इस तरह का उपयोग होता है:

 public static Date parseDate(String date) {
     try {
         return new SimpleDateFormat("yyyy-MM-dd").parse(date);
     } catch (ParseException e) {
         return null;
     }
  }

ताकि मैं बस लिख सकूं

Date myDate = parseDate("2014-02-14");

फिर भी एक और विकल्प जो मुझे पसंद है: अब जावा तिथि / कैलेंडर का उपयोग न करें। Joda Time या Java Time (उर्फ JSR310, JDK 8+ में उपलब्ध) पर स्विच करें। आप LocalDateएक तारीख का प्रतिनिधित्व करने के लिए उपयोग कर सकते हैं , जिसे आसानी से बनाया जा सकता है

LocalDate myDate =LocalDate.parse("2014-02-14");
// or
LocalDate myDate2 = new LocalDate(2014, 2, 14);
// or, in JDK 8+ Time
LocalDate myDate3 = LocalDate.of(2014, 2, 14);

1
.toTime()मौजूद नहीं है। यह होना चाहिए .getTime()( जावा डॉक्स देखें )
0xJoKe 20

क्षमा करें एक टाइपो। हालांकि मुझे लगता है कि ओपी पहले से ही फोन करने की सही विधि जानता है: पी
एड्रियन शूम

बहुत यकीन है कि आप सही हैं। लेकिन उन (मेरे जैसे) के लिए जिन्हें हर बार इसे देखना पड़ता है, इसकी जरूरत होती है। फिक्सिंग के लिए धन्यवाद :)
0xJoKe

1
return new SimpleDateFormat("yyyy-mm-dd").parse(date) होना चाहिएreturn new SimpleDateFormat("yyyy-MM-dd").parse(date)
अक्स

अच्छी पकड़। डन्नो ने मुझसे ऐसी गलती क्यों की। इसे ठीक करना
एड्रियन शुम

34

tl; डॉ

LocalDate.of( 2014 , 2 , 11 )

यदि आप भयानक पुराने java.util.Dateवर्ग का उपयोग करने पर जोर देते हैं , तो आधुनिक java.time कक्षाओं से परिवर्तित करें ।

java.util.Date                        // Terrible old legacy class, avoid using. Represents a moment in UTC. 
.from(                                // New conversion method added to old classes for converting between legacy classes and modern classes.
    LocalDate                         // Represents a date-only value, without time-of-day and without time zone.
    .of( 2014 , 2 , 11 )              // Specify year-month-day. Notice sane counting, unlike legacy classes: 2014 means year 2014, 1-12 for Jan-Dec.
    .atStartOfDay(                    // Let java.time determine first moment of the day. May *not* start at 00:00:00 because of anomalies such as Daylight Saving Time (DST).
        ZoneId.of( "Africa/Tunis" )   // Specify time zone as `Continent/Region`, never the 3-4 letter pseudo-zones like `PST`, `EST`, or `IST`. 
    )                                 // Returns a `ZonedDateTime`.
    .toInstant()                      // Adjust from zone to UTC. Returns a `Instant` object, always in UTC by definition.
)                                     // Returns a legacy `java.util.Date` object. Beware of possible data-loss as any microseconds or nanoseconds in the `Instant` are truncated to milliseconds in this `Date` object.   

विवरण

यदि आप "आसान" चाहते हैं, तो आपको कुख्यात परेशान java.util.Date & .Calendar क्लासेस को जावा के साथ बंडल करने के बजाय जावा 8 में नए java.time पैकेज का उपयोग करना चाहिए ।

java.time

Java.time जावा 8 में बनाया गया और बाद में ढांचा परेशानी वर्ष java.util.Date/.Calendar कक्षाएं supplants।

दिनांक-केवल

यहाँ छवि विवरण दर्ज करें

एक LocalDateवर्ग को java.time द्वारा किसी भी समय-दिन या समय क्षेत्र के बिना केवल तारीख मूल्य का प्रतिनिधित्व करने की पेशकश की जाती है। आपको एक तिथि निर्धारित करने के लिए एक समय क्षेत्र की आवश्यकता है, उदाहरण के लिए मॉन्ट्रियल में पेरिस की तुलना में एक नए दिन के पहले। ZoneIdवर्ग समय क्षेत्रों के लिए है।

ZoneId zoneId = ZoneId.of( "Asia/Singapore" );
LocalDate today = LocalDate.now( zoneId );

सांत्वना देने के लिए नम:

System.out.println ( "today: " + today + " in zone: " + zoneId );

आज: 2015-11-26 जोन में: एशिया / सिंगापुर

या वर्ष, माह, दिन को निर्दिष्ट करने के लिए एक कारखाने विधि का उपयोग करें।

LocalDate localDate = LocalDate.of( 2014 , Month.FEBRUARY , 11 );

लोकलडेट: 2014-02-11

या DayOfWeekएनम ऑब्जेक्ट के बजाय एक महीने की संख्या 1-12 पास करें ।

LocalDate localDate = LocalDate.of( 2014 , 2 , 11 );

समय क्षेत्र

यहाँ छवि विवरण दर्ज करें

A LocalDateका कोई वास्तविक अर्थ नहीं है जब तक आप इसे समय क्षेत्र में समायोजित नहीं करते हैं। Java.time में, हम ZonedDateTimeऑब्जेक्ट जेनरेट करने के लिए टाइम ज़ोन लगाते हैं । वह भी समय का मतलब है, लेकिन क्या समय? आमतौर पर दिन के पहले क्षण के साथ जाने के लिए समझ में आता है। आप सोच सकते हैं कि समय का मतलब है 00:00:00.000, लेकिन डेलाइट सेविंग टाइम (डीएसटी) और शायद अन्य विसंगतियों के कारण हमेशा सच नहीं होता है। उस समय को मानने के बजाय, हम java.time को कॉल करके दिन के पहले क्षण को निर्धारित करने के लिए कहते हैं atStartOfDay

के रूप में , या , के प्रारूप में एक उचित समय क्षेत्र नाम निर्दिष्ट करें । कभी इस तरह के रूप में 3-4 पत्र संक्षिप्त नाम का उपयोग या के रूप में वे कर रहे हैं नहीं सच समय क्षेत्र, नहीं मानकीकृत, और यहां तक कि अद्वितीय नहीं (!)।continent/regionAmerica/MontrealAfrica/CasablancaPacific/AucklandESTIST

ZoneId zoneId = ZoneId.of( "Asia/Singapore" );
ZonedDateTime zdt = localDate.atStartOfDay( zoneId );

zdt: 2014-02-11T00: 00 + 08: 00 [एशिया / सिंगापुर]

यु.टी. सी

यहाँ छवि विवरण दर्ज करें

बैक-एंड काम (व्यापार तर्क, डेटाबेस, डेटा भंडारण और विनिमय) के लिए हम आमतौर पर यूटीसी समय क्षेत्र का उपयोग करते हैं । Java.time में, Instantक्लास UTC में समय पर एक क्षण का प्रतिनिधित्व करता है। एक झटपट ऑब्जेक्ट को कॉल करके ZonedDateTime से निकाला जा सकता है toInstant

Instant instant = zdt.toInstant();

तुरंत: 2014-02-10T16: 00: 00Z

धर्मांतरित

आपको java.util.Dateपूरी तरह से कक्षा का उपयोग करने से बचना चाहिए । लेकिन अगर आपको java.time के लिए अभी तक अपडेट नहीं किए गए पुराने कोड के साथ इंटरॉपर्ट करना होगा , तो आप आगे-पीछे कन्वर्ट कर सकते हैं। पुरानी कक्षाओं में जोड़े गए नए रूपांतरण तरीकों को देखें।

java.util.Date d = java.util.from( instant ) ;

…तथा…

Instant instant = d.toInstant() ;

जावा में सभी तिथि-समय प्रकारों की तालिका, दोनों आधुनिक और विरासत


जावा के बारे में

Java.time ढांचे जावा 8 और बाद में बनाया गया है। इन कक्षाओं परेशानी वर्ष प्रतिस्थापित विरासत जैसे तिथि-समय कक्षाएं java.util.Date, Calendar, और SimpleDateFormat

अधिक जानने के लिए, Oracle ट्यूटोरियल देखें । और कई उदाहरणों और स्पष्टीकरणों के लिए ढेर अतिप्रवाह खोजें। विशिष्टता JSR 310 है

Joda समय परियोजना, अब में रखरखाव मोड , प्रवास करने की सलाह देता java.time कक्षाएं।

आप अपने डेटाबेस से सीधे java.time ऑब्जेक्ट्स का आदान-प्रदान कर सकते हैं । JDBC 4.2 या उसके बाद के JDBC ड्राइवर के अनुपालन का उपयोग करें । तार की कोई जरूरत नहीं, कक्षाओं की कोई जरूरत नहीं । हाइबरनेट 5 और जेपीए 2.2 जावा का समर्थन करते हैंjava.sql.*

Java.time कक्षाएं कहाँ से प्राप्त करें?


अद्यतन: जोडा-टाइम लाइब्रेरी अब रखरखाव मोड में है, और java.time कक्षाओं में प्रवासन की सलाह देती है । मैं इस खंड को इतिहास के लिए छोड़ रहा हूं।

Joda समय

एक बात के लिए, जोडा-टाइम समझदार नंबरिंग का उपयोग करता है इसलिए फरवरी 2नहीं है 1। एक और बात, एक Joda-Time DateTime वास्तव में java.util के विपरीत अपना नियत समय क्षेत्र जानता है। ऐसा लगता है कि समय क्षेत्र है, लेकिन ऐसा नहीं है।

और समय क्षेत्र मत भूलना। अन्यथा आपको JVM का डिफ़ॉल्ट मिल जाएगा।

DateTimeZone timeZone = DateTimeZone.forID( "Asia/Singapore" );
DateTime dateTimeSingapore = new DateTime( 2014, 2, 11, 0, 0, timeZone );
DateTime dateTimeUtc = dateTimeSingapore.withZone( DateTimeZone.UTC );

java.util.Locale locale = new java.util.Locale( "ms", "SG" ); // Language: Bahasa Melayu (?). Country: Singapore.
String output = DateTimeFormat.forStyle( "FF" ).withLocale( locale ).print( dateTimeSingapore );

सांत्वना दें…

System.out.println( "dateTimeSingapore: " + dateTimeSingapore );
System.out.println( "dateTimeUtc: " + dateTimeUtc );
System.out.println( "output: " + output );

जब चला…

dateTimeSingapore: 2014-02-11T00:00:00.000+08:00
dateTimeUtc: 2014-02-10T16:00:00.000Z
output: Selasa, 2014 Februari 11 00:00:00 SGT

रूपांतरण

यदि आपको अन्य वर्गों के साथ उपयोग के लिए java.util.Date में कनवर्ट करने की आवश्यकता है ...

java.util.Date date = dateTimeSingapore.toDate();

4
सिर्फ एक टिप्पणी। खेतों में ज़ीरो को उपसर्ग करने का अभ्यास करना पसंद new DateTime( 2014, 02, 11, 0, 0, timeZone );नहीं है। यद्यपि यह इस मामले में काम करता है, लेकिन, यह अगस्त और सितंबर के लिए संकलित नहीं करेगा यदि आप गुजर रहे हैं 08और 090 के साथ एक आंतरिक शाब्दिक उपसर्ग कर रहे हैं, जिसका अर्थ है अष्टक प्रस्तुति। यह आपको पहले से वर्षों के लिए अप्रत्याशित मान भी देगा 1000, जैसे new DateTime( 0100, 02, 01, 0, 0, timeZone );कि कोई इसे 100AD होने की उम्मीद कर सकता है लेकिन वास्तव में यह 64AD है
एड्रियन

@ AdrianShum Yikes! मुझे कभी नहीं पता था कि पूर्णांक शाब्दिक पर एक प्रमुख शून्य जैसा एक छोटा सा टाइपो इस तरह के एक बुरा साइड-इफेक्ट हो सकता है। धन्यवाद।
तुलसी बोर्क

2
प्रिय डाउन-वोटर, अपने वोट के साथ एक आलोचना छोड़ दें।
बेसिल बॉर्कल

"यदि आप भयानक पुराने java.util.Date वर्ग का उपयोग करने पर जोर देते हैं"। कई प्रदाता टॉमकैट सर्वर की पेशकश नहीं करते हैं जो कि जेडीके 7 से परे जावा पर चलते हैं, इसलिए, जबकि मैं नए सामान का उपयोग करने के लिए कम करूंगा, कुछ दूसरों के कारण पुराने गंदगी में फंस गए हैं .....
किमव्लिंडे

@KimvdLinde मेरे उत्तर को और ध्यान से देखें। गोलियों को देखो। "जावा एसई 6 और जावा एसई 7" शब्द खोजें।
तुलसी बोरक

14

मुझे लगता है कि किसी SimpleDateFormatवस्तु का उपयोग करने का सबसे अच्छा तरीका होगा ।

DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateString = "2014-02-11";
Date dateObject = sdf.parse(dateString); // Handle the ParseException here

Y .. और निश्चित रूप से YYYY - yyyy का उपयोग न करें - खासकर अगर यह पार्स के बजाय प्रारूप के साथ उल्टा कर रहा है। आपको कुछ अजीब परिणाम मिलते हैं !!! यहां देखें: code.sololearn.com/c0EYUAOc92uQ/#java
JGFMK

9

Java8 से:

import java.time.Instant;
import java.util.Date;

Date date = Date.from(Instant.parse("2000-01-01T00:00:00.000Z"))

2

इसे इस्तेमाल करे

 Calendar cal = Calendar.getInstance();
    Date todayDate = new Date();
    cal.setTime(todayDate);

    // Set time fields to zero
    cal.set(Calendar.HOUR_OF_DAY, 0);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MILLISECOND, 0);
    todayDate = cal.getTime();

1
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy HH:mm:ss", Locale.ENGLISH);
//format as u want

try {
    String dateStart = "June 14 2018 16:02:37";
    cal.setTime(sdf.parse(dateStart));
    //all done
} catch (ParseException e) {
    e.printStackTrace();
}

भयानक Calendarऔर SimpleDateFormatकक्षाएं सालों पहले java.time कक्षाओं द्वारा दबा दी गई थीं । 2018 में उनके उपयोग का सुझाव देना खराब सलाह है।
तुलसी बोर्क

यह उत्तर इस प्रश्न की बारीकियों को संबोधित नहीं करता है।
तुलसी बोर्क

1
"एपीआई स्तर" से मुझे लगता है कि आप Android का मतलब है। लेकिन यह एक Android- विशिष्ट प्रश्न नहीं है। इसके अलावा, थ्री-बैक-बैकपोर्ट प्रोजेक्ट में जावा 6 टाइम की अधिकांश कार्यक्षमता जावा 6 और 7 के लिए वापस पोर्ट की गई है। इसके बाद थ्रीटेनाब प्रोजेक्ट में Android के लिए अनुकूलित किया गया । तो, कभी भी उन भयानक विरासत को डेट-टाइम कक्षाओं का उपयोग करने की आवश्यकता नहीं है। Java.time कक्षाएं मौलिक बेहतर हैं।
बेसिल बोर्क्स

इस टिप्पणी के लिए धन्यवाद। इस पुस्तकालय में दिनांक अंतर और समय के अंतर जैसे कार्य उपलब्ध हैं।
सैयद दानिश हैदर

1
हाँ। इस विषय पर कई मौजूदा क्यू एंड ए के लिए स्टैक ओवरफ्लो खोजें। और थ्रीटैन-एक्सट्रा प्रोजेक्ट भी देखें (जल्दी एंड्रॉइड पर बैक-पोर्ट नहीं किया गया)।
बेसिल बॉर्क

0

सबसे सरल तरीके:

Date date = Date.valueOf("2000-1-1");
LocalDate localdate = LocalDate.of(2000,1,1);
LocalDateTime localDateTime = LocalDateTime.of(2000,1,1,0,0);

पहले वाले से बचना चाहिए क्योंकि आप जिस java.sql.Dateवर्ग का उपयोग कर रहे हैं वह खराब तरीके से डिजाइन किया गया है और लंबे समय तक पुराना है। मैं LocalDateदूसरी पंक्ति के रूप में उपयोग करने की सलाह देता हूं । मेरी आदत है LocalDate.of(2000, Month.JANUARY, 1), मुझे यह पढ़ने में थोड़ा स्पष्ट लगता है।
ओले वीवी

और क्योंकि उत्तर में लोकल डिक्लेरेशन होता है, न केवल डेट ऑब्जेक्ट (न कि वंचित, और कभी-कभी इस्तेमाल किया गया) ...
एडम सिलेंको

-1
import java.io.*;
import java.util.*;
import java.util.HashMap;

public class Solution 
{

    public static void main(String[] args)
    {
        HashMap<Integer,String> hm = new HashMap<Integer,String>();
        hm.put(1,"SUNDAY");
        hm.put(2,"MONDAY");
        hm.put(3,"TUESDAY");
        hm.put(4,"WEDNESDAY");
        hm.put(5,"THURSDAY");
        hm.put(6,"FRIDAY");
        hm.put(7,"SATURDAY");
        Scanner in = new Scanner(System.in);
        String month = in.next();
        String day = in.next();
        String year = in.next();

        String format = year + "/" + month + "/" + day;
        Date date = null;
        try
        {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
            date = formatter.parse(format);
        }
        catch(Exception e){
        }
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
        System.out.println(hm.get(dayOfWeek));
    }
}

SimpleDateFormat फॉर्मेटर का उपयोग हमारे अनुसार दिनांक को प्रारूपित करने के लिए किया जा सकता है। और फिर दिनांक ऑब्जेक्ट के अंदर पार्स करना। उपरोक्त कार्यक्रम से पता चलता है कि कोई भी तारीख देकर सप्ताह के दिनों को कैसे प्राप्त किया जा सकता है।
अंकुश

-5

मुझे लगता है कि आपकी तिथि php से आती है और html (डोम) पर लिखी जाती है या? मेरे पास सभी तिथियों और टाइमस्टैम्प को प्रस्तुत करने के लिए एक php-function है। यह एक ऐसे फॉर्मेशन को लौटाता है जिसकी जरूरत है।

$timeForJS = timeop($datetimeFromDatabase['payedon'], 'js', 'local'); // save 10/12/2016 09:20 on var

इस प्रारूप का उपयोग नई तिथि बनाने के लिए js पर किया जा सकता है ...

<html>
   <span id="test" data-date="<?php echo $timeForJS; ?>"></span>
   <script>var myDate = new Date( $('#test').attr('data-date') );</script>
</html>

मैं जो कहूंगा, उसे लपेटने के लिए अपना स्वयं का कार्य करें, जिससे आपका जीवन आसान हो। आप नमूने के रूप में मेरी दुर्गंध ले सकते हैं लेकिन मेरी सीएमएस में शामिल हैं आप 1 से 1 कॉपी और पेस्ट नहीं कर सकते :)

    function timeop($utcTime, $for, $tz_output = 'system')
{
    // echo "<br>Current time ( UTC ): ".$wwm->timeop('now', 'db', 'system');
    // echo "<br>Current time (USER): ".$wwm->timeop('now', 'db', 'local');
    // echo "<br>Current time (USER): ".$wwm->timeop('now', 'D d M Y H:i:s', 'local');
    // echo "<br>Current time with user lang (USER): ".$wwm->timeop('now', 'datetimes', 'local');

    // echo '<br><br>Calculator test is users timezone difference != 0! Tested with "2014-06-27 07:46:09"<br>';
    // echo "<br>Old time (USER -> UTC): ".$wwm->timeop('2014-06-27 07:46:09', 'db', 'system');
    // echo "<br>Old time (UTC -> USER): ".$wwm->timeop('2014-06-27 07:46:09', 'db', 'local');

    /** -- */
    // echo '<br><br>a Time from db if same with user time?<br>';
    // echo "<br>db-time (2019-06-27 07:46:09) time left = ".$wwm->timeleft('2019-06-27 07:46:09', 'max');
    // echo "<br>db-time (2014-06-27 07:46:09) time left = ".$wwm->timeleft('2014-06-27 07:46:09', 'max', 'txt');

    /** -- */
    // echo '<br><br>Calculator test with other formats<br>';
    // echo "<br>2014/06/27 07:46:09: ".$wwm->ntimeop('2014/06/27 07:46:09', 'db', 'system');

    switch($tz_output){
        case 'system':
            $tz = 'UTC';
            break;

        case 'local':
            $tz = $_SESSION['wwm']['sett']['tz'];
            break;

        default:
            $tz = $tz_output;
            break;
    }

    $date = new DateTime($utcTime,  new DateTimeZone($tz));

    if( $tz != 'UTC' ) // Only time converted into different time zone
    {
        // now check at first the difference in seconds
        $offset = $this->tz_offset($tz);
        if( $offset != 0 ){
            $calc = ( $offset >= 0  ) ? 'add' : 'sub';
            // $calc = ( ($_SESSION['wwm']['sett']['tzdiff'] >= 0 AND $tz_output == 'user') OR ($_SESSION['wwm']['sett']['tzdiff'] <= 0 AND $tz_output == 'local') ) ? 'sub' : 'add';
            $offset = ['math' => $calc, 'diff' => abs($offset)];
            $date->$offset['math']( new DateInterval('PT'.$offset['diff'].'S') ); // php >= 5.3 use add() or sub()
        }
    }

    // create a individual output
    switch( $for ){
        case 'js':
            $format = 'm/d/Y H:i'; // Timepicker use only this format m/d/Y H:i without seconds // Sett automatical seconds default to 00
            break;
        case 'js:s':
            $format = 'm/d/Y H:i:s'; // Timepicker use only this format m/d/Y H:i:s with Seconds
            break;
        case 'db':
            $format = 'Y-m-d H:i:s'; // Database use only this format Y-m-d H:i:s
            break;
        case 'date':
        case 'datetime':
        case 'datetimes':
            $format = wwmSystem::$languages[$_SESSION['wwm']['sett']['isolang']][$for.'_format']; // language spezific output
            break;
        default:
            $format = $for;
            break;
    }

    $output = $date->format( $format );

    /** Replacement
     * 
     * D = day short name
     * l = day long name
     * F = month long name
     * M = month short name
     */
    $output = str_replace([
        $date->format('D'),
        $date->format('l'),
        $date->format('F'),
        $date->format('M')
    ],[
        $this->trans('date', $date->format('D')),
        $this->trans('date', $date->format('l')),
        $this->trans('date', $date->format('F')),
        $this->trans('date', $date->format('M'))
    ], $output);

    return $output; // $output->getTimestamp();
}

2
आप PHP में जवाब के साथ एक> 2 साल पुराने जावा सवाल का जवाब क्यों दे रहे हैं ?
एलन हाय
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.