2011-10-31 33 views

答えて

147

ただ、このサンプルコード試してみてください。 - 私はこのヘルプを願っています

import java.text.DateFormat; 
import java.text.SimpleDateFormat; 
import java.util.Calendar; 


public class Test { 

/** 
* Main Method 
*/ 
public static void main(String[] args) { 
    System.out.println(getDate(82233213123L, "dd/MM/yyyy hh:mm:ss.SSS")); 
} 


/** 
* Return date in specified format. 
* @param milliSeconds Date in milliseconds 
* @param dateFormat Date format 
* @return String representing date in specified format 
*/ 
public static String getDate(long milliSeconds, String dateFormat) 
{ 
    // Create a DateFormatter object for displaying date in specified format. 
    SimpleDateFormat formatter = new SimpleDateFormat(dateFormat); 

    // Create a calendar object that will convert the date and time value in milliseconds to date. 
    Calendar calendar = Calendar.getInstance(); 
    calendar.setTimeInMillis(milliSeconds); 
    return formatter.format(calendar.getTime()); 
} 
} 

を...

+0

それがない6に下向きの10桁のlong値上で動作しますが。時間は4のデフォルトを持っています.. ??? – ralphgabb

+4

**新しいSimpleDateFormat(dateFormat、Locale.US(_またはあなたのロケール_))**の代わりに**新しいSimpleDateFormat(dateFormat)**を使用する必要があります**デフォルトのアンドロイド言語の変更によりクラッシュするため、 –

9

は、あなたがミリ秒にjava.util.Dateを構築することができ

SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy"); 
Date d = format.parse(fileDate); 
-1

ニーズに合わせて変更し、このコードは役立つかもしれないしてみてください。そしてそれをjava.text.DateFormatで文字列に変換します。

60

ミリ秒の値をDateの値に変換し、選択したフォーマッタに渡します。

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
String dateString = formatter.format(new Date(dateInMillis))); 
6

私は最終的に私のため

Long longDate = Long.valueOf(date); 

Calendar cal = Calendar.getInstance(); 
int offset = cal.getTimeZone().getOffset(cal.getTimeInMillis()); 
Date da = new Date(); 
da = new Date(longDate-(long)offset); 
cal.setTime(da); 

String time =cal.getTime().toLocaleString(); 
//this is full string   

time = DateFormat.getTimeInstance(DateFormat.MEDIUM).format(da); 
//this is only time 

time = DateFormat.getDateInstance(DateFormat.MEDIUM).format(da); 
//this is only date 
3
public class LogicconvertmillistotimeActivity extends Activity { 
    /** Called when the activity is first created. */ 
    EditText millisedit; 
     Button millisbutton; 
     TextView millistextview; 
     long millislong; 
     String millisstring; 
     int millisec=0,sec=0,min=0,hour=0; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     millisedit=(EditText)findViewById(R.id.editText1); 
     millisbutton=(Button)findViewById(R.id.button1); 
     millistextview=(TextView)findViewById(R.id.textView1); 
     millisbutton.setOnClickListener(new View.OnClickListener() {    
      @Override 
      public void onClick(View v) { 
       millisbutton.setClickable(false); 
       millisec=0; 
       sec=0; 
       min=0; 
       hour=0; 
       millisstring=millisedit.getText().toString().trim(); 
       millislong= Long.parseLong(millisstring); 
       Calendar cal = Calendar.getInstance(); 
       SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); 
       if(millislong>1000){ 
        sec=(int) (millislong/1000); 
        millisec=(int)millislong%1000; 
        if(sec>=60){ 
         min=sec/60; 
         sec=sec%60; 
        } 
        if(min>=60){ 
         hour=min/60; 
         min=min%60; 
        } 
       } 
       else 
       { 
        millisec=(int)millislong; 
       } 
       cal.clear(); 
       cal.set(Calendar.HOUR_OF_DAY,hour); 
       cal.set(Calendar.MINUTE,min); 
       cal.set(Calendar.SECOND, sec); 
       cal.set(Calendar.MILLISECOND,millisec); 
       String DateFormat = formatter.format(cal.getTime()); 
//    DateFormat = ""; 
       millistextview.setText(DateFormat); 

      } 
     }); 
    } 
} 
+0

時間単位を使用して..しかし、それはうまく動作しません...これを使用してください..これはあなたを助けるでしょう...うまく動作します –

27
を働く通常のコードを見つけます
public static String convertDate(String dateInMilliseconds,String dateFormat) { 
    return DateFormat.format(dateFormat, Long.parseLong(dateInMilliseconds)).toString(); 
} 

この関数を呼び出し

convertDate("82233213123","dd/MM/yyyy hh:mm:ss"); 
+2

Mahmoodありがとう、この解決策はAPIレベル1(私のプロジェクトはAPI 15に下げられます) APIレベル24(日付および/またはカレンダーライブラリ)が必要 –

+0

あなたはアメリカ人ですか? – behelit

+0

保存しました。私は簡単な日付形式を使用して多くのソリューションを試していました。それを使用していません。あなたのこの解決策は私のためにうまくいった。 thanks –

9
DateFormat.getDateInstance().format(dateInMS); 
3

短いと効果:

DateFormat.getDateTimeInstance().format(new Date(myMillisValue)) 
1
public static Date getDateFromString(String date) { 

    Date dt = null; 
    if (date != null) { 
     for (String sdf : supportedDateFormats) { 
      try { 
       dt = new Date(new SimpleDateFormat(sdf).parse(date).getTime()); 
       break; 
      } catch (ParseException pe) { 
       pe.printStackTrace(); 
      } 
     } 
    } 
    return dt; 
} 

public static Calendar getCalenderFromDate(Date date){ 
    Calendar cal =Calendar.getInstance(); 
    cal.setTime(date);return cal; 

} 
public static Calendar getCalenderFromString(String s_date){ 
    Date date = getDateFromString(s_date); 
    Calendar cal = getCalenderFromDate(date); 
    return cal; 
} 

public static long getMiliSecondsFromString(String s_date){ 
    Date date = getDateFromString(s_date); 
    Calendar cal = getCalenderFromDate(date); 
    return cal.getTimeInMillis(); 
} 
+0

これらのメソッドを使用して、日付を2016-08-18のような文字列形式または文字列形式の任意の型をDateFormatに変換し、日付をミリ秒に変換することもできます。 –

0
public static String toDateStr(long milliseconds, String format) 
{ 
    Date date = new Date(milliseconds); 
    SimpleDateFormat formatter = new SimpleDateFormat(format, Locale.US); 
    return formatter.format(date); 
} 
関連する問題